我正在寻找一种实用的方法来确定 git 存储库是否以任何方式发生了变化(新提交、新分支等)。找到这个问题的答案的目的是在 Web 存储库查看器中创建一个简单的缓存系统,并具有适当的失效。
有关更多信息,请参阅:https ://github.com/klaussilveira/gitlist/issues/260。提前谢谢各位。
我正在寻找一种实用的方法来确定 git 存储库是否以任何方式发生了变化(新提交、新分支等)。找到这个问题的答案的目的是在 Web 存储库查看器中创建一个简单的缓存系统,并具有适当的失效。
有关更多信息,请参阅:https ://github.com/klaussilveira/gitlist/issues/260。提前谢谢各位。
我天真的方法是存储和比较git show-ref
. 如果一个分支被更新,那么对应的 head 将在 next 处于不同的 SHA 上show-ref
,如果添加了一个分支,它将显示为一个新条目。标签的同上。
这是一个便宜的命令,所以它应该可以在你的 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)