【发布时间】:2013-12-31 05:37:56
【问题描述】:
所以 - 有人可以澄清这一点:
我跑:
git pull origin master
git status
然后它提取更改并说:
your branch is ahead of origin/master ... blahblah by 6 commits...
当我然后运行时
git fetch
git status
上面写着:
# On branch master
nothing to commit (working directory clean)
所以 - 我认为 git pull 默认会获取 git - 那么为什么它说“提前 6 次提交”而没有额外的 git fetch?
【问题讨论】:
-
在这种特殊情况下,它意味着它所说的:你的分支在前面,即包含未推送的提交,这与拉取无关,它只是你的提示。
-
@bredikhin 但我刚刚撤消了这些提交 - 为什么它们会被归类为未推送?这就是我感到困惑的地方。为什么当我从远程分支拉取更改时,我不会立即收到“没有什么可提交(工作目录干净)”的消息?
-
有没有可能在你第二次运行
git status之前,你运行了git push? -
@Dannyboy 您的本地提交未推送,而不是您已拉取的提交。
-
@bredikhin 但我没有任何本地提交。如果我做
git fetch- 在git pull之后 -> 这条消息没有出现,我只会得到“没有提交(工作目录干净)”