所以我重新安装了我的操作系统,现在我面临着一个混乱的困境。
我在网上有一个现有的git repo,它有一些我特别改变的东西,因为他们没有使用我的服务器yadda yadda等等。
我现在有一个非常相似的回购,但有很多核心变化,这就是我需要知道怎么做:
我想重新初始化repo以使用我的新文件夹但是却覆盖了服务器上的不同文件。我的文件夹中没有.git,所以我需要制作一个,但是如何在线覆盖现有的git repo?
是否接近git push --force?但是如何在没有克隆的情况下将相同的repo初始化到此文件夹中(因为我不想覆盖我的更改,所以我不想这样做)
谢谢!
答案 0 :(得分:2)
这里做的自然事(至少对我来说)就是在新的提交中进行这些修改,保留项目的历史记录。没有必要推--force!
为此,您必须首先将您的repo克隆回本地计算机,但必须在另一个目录中,以便它不会覆盖。
git clone git://myrepo.com clonedrepo
然后复制本地仓库中的“工作副本”:
cp -r workingdir clonedrepo
如果您在workingdir中删除了文件,则必须在目标目录上手动删除它们。最后阶段和提交:
git add . && git commit -m "details on what changed"
由于没有重写历史记录,你将能够正常推送。