2017-04-24 106 views
0

在这里是一个更好的方式来理解就是任何新的承诺将使用Git中获取获取时:检查主分支有新提交

git fetch origin --dry-run -v 2>&1| grep 'master'| grep 'up to date' 

然后,如果输出如下:

= [up to date]  master  -> origin/master 

我不需要做实际的抓取,如果不需要 - 我做抓取。

我现在正在使用这种方法,但我想知道哪里有更好的解决方案?

此外,我要检查汞柱类似的事情 - 在这里是一种方式来做到这一点?

+0

询问是否运行命令* X *(对于某些* X *)会做些什么,然后根据答案选择运行* X *,通常是一个糟糕的计划。答案可能会在您决定运行(或不运行)* X *时改变*。 git fetch和hg pull都是如此。实际运行它们并观察发生的事情会更好,因为首先进行“空运行”会给你带来竞争条件:工作在上游存储库的其他人可以轻松地在“测试”和“去”之间改变答案, 。 – torek

回答

2

您可以使用git fetch --dry-run检查遥控器有新的变化来获取。它将

节目会是什么,不做任何更改

完成。你

也可以使用hg incoming来检查是否有具有变化来获取。

水银提供hg incoming命令来告诉我们什么样的变化 hg pull命令将拉入到存储库,而无需实际 拉动的变化。

+0

收到韩庚:未知的命令“取”对汞取--dry运行 – Vova

+0

哪里是没有--dry-run选项汞柱拉:选项--dry运行不承认 – Vova

+1

可以在善变的使用'汞incoming'。请参阅'hg help incoming'。 – ngoldbaum