繁体   English   中英

Git:获取所有非推送分支

[英]Git: get all non-pushed branches

我的项目存储库中有许多分支。 这些年来我一直在研究这些。 当然,我必须准确,并且应该删除已完成的本地分支(反映相应的 jira 票),但遗憾的是我并不总是这样做。

当前场景需要迁移到另一个开发桌面,可能我可以将所有本地分支推送到远程并从新主机克隆/拉取。 但是我不能强制推送它们,我需要首先获取未推送分支的列表,手动查看它们并决定是否推送它们。

如何获取未同步的本地分支列表? 找不到这样的赞。。。

我会做一些类似的事情

git for-each-ref --format='%(if:notequals==)%(upstream:trackshort)%(then)%(refname:short)%(end)' refs/heads | sort -u

它使用for-each-ref非常方便的%(if)%(then)[%(else)]%(end)构造来过滤上游轨道状态。

决赛| sort -u | sort -u只是演示奖励,主要用于去除空白行。


但是,我意识到这里仍然有一点不准确:它会输出与远程对应分支不同步的分支列表,是的,但是会显示前面后面的分支,而我猜你只想要那些前面的分支。 在您的上下文中,这可能不是问题,但请注意这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM