git:'log master..origin/master'没有像预期的那样运行
我试图将'master'的副本与它跟踪的远程存储库上的副本进行比较。我认为下面的命令会起作用,而且往往似乎是这样。然而,有时它不会产生任何东西,但我知道远程分支有很多变化,我可以通过拉动来确认。git:'log master..origin/master'没有像预期的那样运行
git log master..origin/master
任何人都可以解释这种行为,并告诉我应该用什么命令来确定本地和远程之间的变化?
[另一个数据:我曾经发生过'git log master..origin/master'什么也没有产生。然后我做了拉。由于我有一些文件的工作副本,拉失败。在此之后,'git log master..origin/master'确实显示了我的差异。看来拉已经更新了一些本地日志?如果是这样,我怎么能做到这一点,而不做(或试图做)拉?]
这是因为origin/master
是您的存储库中的的远程分支。它代表最后一次“查看”(获取,这是拉和远程更新的一部分)的起源主分支的起始位置。
当您拉动时,执行获取,并且origin/master
得到更新。然后调用合并,这可能会也可能不会失败,但这对您的远程分支没有影响。
您还可以使用git fetch --all
或git fetch origin
来获取这些更新。
pull
是fetch
和merge
。从远程服务器获取下载日志。我认为这是你在这里观察到的。
http://www.kernel.org/pub/software/scm/git/docs/git-pull.html
,如果你没有取(在你的本地回购原籍本地引用)的东西离开原点它只会告诉你一些差异。
这就是为什么你看到后的差异甚至失败git pull
:
- 它首先获取
- 然后试图合并(和失败)
,但是,对于足够git log
来提取您需要的信息,因为它们在您当地的回购(fetch
部分之后)