2

所以我重新安装了我的操作系统,现在我面临着一个 git 困境。

我在网络上有一个现有的 git repo,其中有一些我已经特别更改的东西,因为它们没有与我的服务器 yadda yadda 等一起工作。

我现在有一个非常相似的 repo,但有很多核心更改,这是我需要知道的:

我想重新初始化 repo 以使用我的新文件夹,但覆盖服务器上的不同文件。我的文件夹中没有 .git,所以我需要创建一个,但是如何在线将我的更改覆盖到现有的 git 存储库?

它接近 git push --force 吗?但是我如何在不克隆的情况下将同一个 repo 初始化到这个文件夹中(我不想这样做,因为我不想覆盖我的更改)

谢谢!

4

1 回答 1

2

在这里要做的自然的事情(至少对我来说)是在新的提交中进行这些修改,保留项目的历史记录。无需推动--force!

为此,您必须首先将您的 repo 克隆回本地计算机,但位于不同的目录中,以免被覆盖。

git clone git://myrepo.com clonedrepo

然后在本地仓库中复制“工作副本”:

cp -r workingdir clonedrepo

如果您在工作目录中删除了文件,则必须在目标目录中手动删除它们。最后阶段并提交:

git add . && git commit -m "details on what changed"

由于没有重写历史记录,您将能够正常推送。

于 2012-09-17T06:01:42.087 回答