我和一位朋友正在研究一个在Github上托管的小项目。我们俩都没有经验(显然)。
我提交了一个成功合并的拉取请求但是,我的朋友没有更新他的本地存储库以包含这些最新的更改。
当我的朋友接下来做push
时,他覆盖我的所有更改。
如何保留我编辑的大部分内容(不包括冲突)?
我尝试根据我的上一次提交创建一个分支,然后将所述分支与主分支合并,但这样做不起作用,因为主分支被称为“最新”,现在我迷路了。
答案 0 :(得分:1)
解决此问题的最佳方法是fetch
后跟merge
或rebase
。我建议使用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会告诉你这个,所以在你尖叫着你之前我不会担心它。