为什么git rev-list无法检测远程/原点更改?

时间:2014-09-14 20:17:40

标签: git bash

我正在尝试为我的bash提示构建一个可靠的“前后备份”信号。尽管阅读了许多git提示(shell,python脚本)的源代码并阅读了许多堆栈溢出答案,但我无法弄清楚为什么要进行比较

$ git rev-list HEAD..origin/master

实际上并没有比较原点的主人。想出来了,所以我决定问这个问题并回答它,所以它没有被埋没,并会立即回答别人的类似问题。

1 个答案:

答案 0 :(得分:2)

我终于意识到origin / master只是一个 local "指针",这对于git的分布式特性是有意义的。它真的把我扔了,直到我记得这一点。几乎所有关于比较本地和远程回购的答案都没有出来,并表示你必须进行获取。终于找到了one。无论如何,我parrt's git bash prompt以非常可靠的方式工作。要确定您的存储库是否位于原点之后,请执行以下操作:

$ git fetch origin mybranch
$ git rev-list HEAD..origin/mybranch

这很贵,所以我的bash提示脚本每隔30分钟就会执行一次,看看我是否在远程仓库后面。