linux – 检查本地git repo是否遥遥领先

linux – 检查本地git repo是否遥遥领先,第1张

概述我正在开发一个git插件,我需要知道何时可以使用命令行更改本地存储(可以提交更改),提前(可以推送到远程)或后面(可以从远程提取). 这就是我到目前为止所做的事情: >可以提交吗? 如果git diff-index –name-only –ignore-submodules HEAD – 返回一些东西, 然后是的,有提交的更改. >可以推吗? 如果git status -sb在其输出中包含前面的单 我正在开发一个git插件,我需要知道何时可以使用命令行更改本地存储(可以提交更改),提前(可以推送到远程)或后面(可以从远程提取).

这就是我到目前为止所做的事情:

>可以提交吗?

如果git diff-index –name-only –ignore-submodules head – 返回一些东西,
然后是的,有提交的更改.
>可以推吗?

如果git status -sb在其输出中包含前面的单词,那么是,那里
是承诺推动.
>可以拉吗?

还没有实现.

可以提交吗?部分似乎工作正常.可以推吗?仅适用于主分支,这是一个很大的问题.

如何在每个分支上安全地检查git repo是否有更改提交,提交推送或需要git pull?

解决方法 您可以使用 git merge-base和 git rev-parse的组合执行此 *** 作.如果git merge-base< branch> < remote branch>返回与git rev-parse< remote branch>相同的,然后你的本地分支就在前面.如果它返回与git rev-parse< branch>相同,那么你的本地分支就落后了.如果merge-base返回的答案与rev-parse不同,那么分支已经分歧,你需要进行合并.

最好在检查分支之前进行git fetch,否则你确定是否需要拉动将会过时.您还需要验证您检查的每个分支都有远程跟踪分支.你可以使用git for-each-ref –format =’%(upstream:short)’refs / heads /< branch>要做到这一点.该命令将返回< branch>的远程跟踪分支.如果没有,则为空字符串.在SO的某个地方有一个不同的版本,如果分支没有远程跟踪分支,它将返回错误,这可能对您的目的更有用.

总结

以上是内存溢出为你收集整理的linux – 检查本地git repo是否遥遥领先全部内容,希望文章能够帮你解决linux – 检查本地git repo是否遥遥领先所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1031891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存