[英]How to convert all merged remote git branches to tags? (create tags, delete branches)
(在我使用 giltab 的delete merged branches
功能之前(请参阅https://docs.gitlab.com/ee/user/project/repository/branches/#delete-merged-branches )-我想标记它们-以防万一将来需要参考它们。)
(在Linux上:)
git branch --remotes --merged |
grep --invert-match --perl-regexp "^ origin/(HEAD ->|master$)" |
sed "s#^ origin/##g" |
xargs -I {} \
git push origin origin/{}:refs/tags/merged/{}
git branch
- 列出所有远程合并的分支grep
- 从列表中排除头部,主人sed
- 从分支名称中删除origin/
前缀xargs -I
对从前一个命令获得的每一行执行一次以下命令(用分支名称替换每次出现的{}
)git push
- 使用merged/<branch-name>
标签标记远程分支之后,远程合并的分支可能会被删除,因为不再需要它们。
git fetch --tags --prune
--prune
将删除远程--prune
中不再存在的远程分支的本地副本--tags
将获取在上一节中创建的标签
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.