协作开发由于组员merge我的分支内容到他的分支,又把合并内容push到我的分支。同时我还在自己的本地分支上做了修改。然后当我想pull组员合并结果的时候pull reject。
接着我没多想使用了
git pull --force origin xxx:xxx
接着悲剧发生了,我在pull之前在本地分支上做了很多改动。所有改动被覆盖掉。好在强行pull之前我做了 git stash
然后看看statsh 列表
git statsh list
发现为空!怎么办。
查了资料可以使用
git fsck --lost-found
查看到历史记录,是否是自己想要的内容
git show xxxxxx(id)
如果需要恢复
git merge xxxxx(id)
终于找回了被强行覆盖的内容。以后遇到这种情况保险起见。第一种方法等待组员merge结束pull一次代码。第二种就是新建一个分支pull组员的merge代码,然后再merge到自己分支。