2

从远程仓库拉取后,我的本地仓库处于奇怪的状态。

git log不显示来自远程仓库的提交。应该更改的文件保持不变。git status表明我branch master(如预期)使用干净的工作目录。也就是说,从拉扯中找不到任何证据。

但是,如果我git show来自远程的特定提交,则会显示该提交的正确更改。怎样才能git show正常工作,但我的仓库没有改变并且log不显示提交?

这是怎么回事?

4

2 回答 2

3

可能是那些已获取的提交(作为git pull您中止或恢复的先前的一部分),但未应用于本地master.

于 2012-07-31T21:39:17.857 回答
1

你的 git pull 失败了,你很难重置。这意味着你回到了原来的位置。但是 git pull 的一部分是 git fetch。所以你实际上得到了远程分支中包含的对象。要测试你可以看看

git log origin/master

如果这没有显示它们,请执行

git fetch

这应该只更新远程跟踪分支。要准确查看遥控器上的内容,您可以

git ls-remote origin

(假设 origin 是相关遥控器的名称)

请记住,这git pull是和的组合git fetchgit merge或者git rebase如果您以这种方式配置它)。

于 2012-08-01T03:21:20.653 回答