如何在更改后将 GitHub git init'd repo 与非 init '本地副本合并



我不能得到我的头周围的序列合并这混乱。无论我做什么,我都被困住了,或者因为害怕打破东西而陷入了太深的而无法继续前进。

  • 用户A正在处理repo,没有问题。
  • 用户B不知不觉地获得了repo的Zip,没有在本地初始化,并在本地进行了代码更改。
  • 用户A知道了这一点,并提交了他所有未完成的更改。

那么,如何合并A和B的更改,同时保持回购完整?最初,我有两个本地文件夹的副本(一个带有来自a的。git,另一个没有来自B的。git)。

有点晚了,但为了将来的读者,下面是我解决这个问题的方法,没有太多冲突要解决:

git clone thecorrectrepositoryurl xxx
cd xxx
git checkout to-a-commit-where-mistaken-developer #was at before committing the mistakes, or branch

现在从错误的开发人员复制所有文件。如果有可能删除文件,请在复制文件之前删除所有文件

在没有冲突的情况下,添加已删除的文件,提交并签出当前分支

git commit -A -m "Changes that should have been in git already"
git checkout the-current-branch

如果你签出了一个提交,Git会告诉你更改丢失了,否则将下面的命令替换为::Git merge [your-branch]

git merge abcf00 # Add the refspec git mentioned, example abcf00 

解决冲突,不应该有很多

git commit -m "Merge Changes that should have been in git already"

最新更新