团队成员覆盖git更改



我和一个朋友正在Github上做一个小项目。我们俩都不太有经验。

我提交了一个成功合并的pull请求,但是,我的朋友没有更新他的本地存储库来包含这些最新的更改。

当我的朋友再次执行push时,他覆盖了我所有的更改。

我如何保留我和他的大部分编辑(不包括冲突)?

我试着根据我最后一次提交创建一个分支,然后将说的分支与主分支合并,但是这样做不起作用,因为主分支被认为是"最新的",现在我迷路了。

解决此问题的最佳方法是先执行fetch,然后执行mergerebase。我建议使用rebase来保持您的历史线性和干净。

fetch在不触及自己的分支的情况下更新远程分支的副本。git pull将有效地执行fetch,然后执行merge

解决问题的命令链如下所示

git fetch
git rebase origin/master master
# ... Solve conflicts ... (continue the rebase with 'git rebase --continue')
git push

如果你的朋友在你解决冲突的时候提交了,你应该在push之前执行git pull --rebase。但是当你尝试push时,git会告诉你这个,所以我不会担心它,直到它向你尖叫。

最新更新