我正在寻找一种务实的方式来查找git存储库是否以任何方式更改(新提交,新分支等)。找到这个问题的答案的目的是在Web资源库查看器中创建一个简单的缓存系统,并具有适当的失效。找出git存储库已更改
参见:https://github.com/klaussilveira/gitlist/issues/260了解更多信息。在此先感谢,伙计们。
我正在寻找一种务实的方式来查找git存储库是否以任何方式更改(新提交,新分支等)。找到这个问题的答案的目的是在Web资源库查看器中创建一个简单的缓存系统,并具有适当的失效。找出git存储库已更改
参见:https://github.com/klaussilveira/gitlist/issues/260了解更多信息。在此先感谢,伙计们。
我幼稚的做法是存储和比较git show-ref
输出。如果更新了分支,则相应的头将在下一个show-ref
处位于不同的SHA中,并且如果添加了分支,它将显示为新条目。同样是标签。
这是一个便宜的命令,所以它应该在您的20k仓库中按比例放大。
git remote show <remote-name>
怎么样?你得到输出这样的每个分支:
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (local out of date)
这不适用于裸回购。我不想追踪远程更改,但是任何更改(无论是否为空)。 – 2013-02-13 16:26:48
工程就像一个魅力,特别是模式匹配和--heads和--tags选项。 :) – 2013-02-13 16:34:01