我们是2个人在同一个项目上工作。我的朋友告诉我他已经完成了自己的职责并将其推送到GitHub。我今天已经完成了所以我也想推动。
要完成,我想先拉,在本地合并文件,然后再将其推回。
当我尝试使用他的提交更新我的本地仓库时,我使用git pull
,这导致我的所有工作都消失了,而不是我的文件,他的文件出现了。
我想恢复我的文件,然后用他的文件正确更新我的repo。
很好地提到了这个过程:我有一个名为“入口”的本地分支,所以首先,我切换到master,然后git merge entrance
为要合并的文件,这在屏幕上显示了一些东西,所以我认为合并完成。最后,我使用了git pull
。
答案 0 :(得分:1)
如果我遇到这种情况,我会执行以下步骤:
首先,确保在提取朋友的代码之前提交代码。
显示reflog
以按命令检查历史记录:git reflog
输出应为:
$ git reflog 90abbe3 HEAD@{0}: pull origin master: Fast-forward 3ab3527 HEAD@{1}: commit: q defer all 962e856 HEAD@{2}: commit: getall terms by tax 2d7f20d HEAD@{3}: commit: bug list create
通过命令重置为上一次提交:git reset --hard HEAD@{1}
使用一些命令git diff
,git branch
..
最后,找到问题并按git merge
或git pull