团队成员覆盖git更改

时间:2014-06-04 19:03:37

标签: git github merge merge-conflict-resolution

我和一位朋友正在研究一个在Github上托管的小项目。我们俩都没有经验(显然)。

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

当我的朋友接下来做push时,他覆盖我的所有更改。

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

我尝试根据我的上一次提交创建一个分支,然后将所述分支与主分支合并,但这样做不起作用,因为主分支被称为“最新”,现在我迷路了。

1 个答案:

答案 0 :(得分:1)

解决此问题的最佳方法是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

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