Person A将他的文件推送到github存储库,然后B人将他的文件推送到同一个github存储库。
不喜欢B的提交,并将github存储库恢复到B推送前的状态。声称使用以下命令来完成
git push origin master -f
我可能会误解命令的某些部分,因为我不熟悉这些东西。
自推出以来,A在本地存储库中没有任何改变。
我的问题是
感谢。
答案 0 :(得分:5)
这可能发生了什么:
git push origin master -f
,告诉远程存储库将主分支引用再次移回提交1(或者提交给当前主分支的任何内容)指向)。现在,回答你的问题:
为什么我无法在github存储库的历史记录中找到B&#39的提交? 为什么A只有一次提交,就像B推送之前的那样?
B的提交仍然存在,但它不再被任何分支引用。当git log
在 master 上时,您只能看到此分支指向的提交及其所有祖先。任何其他提交1或与提交1无关的提交都不会显示。
我找到列出孤立提交的唯一方法是在最近签出该提交的计算机上执行git reflog
。
A使用的命令是什么?将所有内容还原到B推送前的那一点?
见上面的第三个子弹。
答案 1 :(得分:2)
-f
标志代表武力。我只能猜测,但可能发生的事情是,A还没有B改变,所以为了#34;还原" B的变化,所有A必须做的就是强制推动。