简化:
在我的master
分支中,添加了一些垃圾。
然后我把它推到原产地/主人那里
后来我发现添加该垃圾是一个错误。 我知道我可以/应该创建一个还原提交。
但是我没有。我做了一个git reset --hard
但是现在我希望原点/原版看起来与我的本地原版完全相同。
很显然,我无法进行推送,因为git在推送之前告诉我pull
。
所以我做了push --force
:
但是即使在那之后,sourcetree也显示出它们是不一样的:
即使我检查更改,也看不到更改:
问题:
如果远程master
和本地master
没有区别,为什么sourcetree向我显示pull
?
即使git status
表示我没事(没有拉动):
答案 0 :(得分:1)
一般建议:每当包装CLI程序或库的GUI出现异常时,最好直接与实际的CLI程序或库进行检查。
在这种情况下,运行提取:
git fetch origin
然后检查分支指向的位置:
git log master origin/master
或者也许:
git branch --all --verbose
甚至:
git show master
git show origin/master
允许您检查分支实际指向哪个提交(哈希),并因此确认(或不确认)GUI是否有问题。
即使您确认SourceTree在重新打开它时也没有显示问题,我还是会直接与Git仔细检查,以防万一。
答案 1 :(得分:1)
有时Sourcetree与本地存储库不同步。发生这种情况时,只需告诉Sourcetree使用 F5 (Windows)或⌘ + R (macOS)刷新其视图即可。
答案 2 :(得分:1)