我的本地存储库的所有分支以及它的所有远程数据库和它们之间的关系有什么合理的概述吗?(内置或通过第三方工具或通过命令行"hacks"/scripts)
示例:
Local Loc. track. Remote track. Remote
--------------------------------------------------------------
mynewtest
development ---[0↑0↓]---> origin/development --> development [origin]
origin/testing --> testing [origin]
version0.5 --[45↑0↓]---> origin/version0.5
origin/version0.6
version1.0 (-[1↑854↓]->) origin/version1.0 --> version1.0 [origin]
UITests [origin]
algoContestMia --[12↑4↓]---> mia/algo --> algo [mia]
algoContestBen ---[4↑8↓]---> ben/newalgo --> newalgo [ben]
algoContestMyA ---[7↑0↓]---> my/algoContest --> algoContest [my]
algoContestMyB --[14↑10↓]--> my/algoContest --> algoContest [my]
my/UITests --> UITests [my]version1.0是一个显示matching branches, that are not set as upstream but via matching names configured for pushs (not pulls)的示例
发布于 2017-06-26 00:09:02
要获得最新的本地存储库,请使用git fetch。要查看详细信息,可以使用git branch -avv。要清除过时的跟踪引用,请使用git fetch --prune。
如果您希望报告的格式与此处所示的格式完全相同,请查看git for-each-ref上的--format选项,让一切按您想要的方式进行,这就是五行区域。
你正在描述的工作流程,你唯一关心的分支在多个遥控器中的出现和消失就是它们的出现和消失,这是非常混乱的。我自己的经验当然是有限的,但我从来没有见过这样的工作环境。尽管如此,你可以从git得到你需要的东西,你只需要自己整理它。
git ls-remote显示任意路径或url (或远程名称,这只是本地配置路径或url的缩写和一系列命令默认值的缩写)中的所有或选择的引用。git for-each-ref是本地repos的git ls-remote,它还可以显示本地配置中有关ref的内容,并且可以为每个ref打印任意格式的文本(例如命令序列)。
举个例子,你可以
for f in `git remote`; do git ls-remote -h $f | sed s,^,$f\\t,; done和一对git for-each-ref,一个用于refs/heads,另一个用于refs/remotes,以获取本地集。看看git for-each-ref文档,看看它会告诉你什么,我可能只会用三个数据集的普通unix join,也就是远程名称上的表,或者可能用sqlite做一些事情。
https://stackoverflow.com/questions/44747993
复制相似问题