linux - 如何将所有合并的远程 git 分支转换为标签?(创建标签,删除分支)
问题描述
(在我使用 giltab 的delete merged branches
功能之前(请参阅
https://docs.gitlab.com/ee/user/project/repository/branches/#delete-merged-branches) - 我想标记它们 - 以防我需要参考将来他们。)
解决方案
(在 Linux 上:)
如何批量标记所有合并的远程git分支
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
将删除远程仓库中不再存在的远程分支的本地副本--tags
'将获取在上一节中创建的标签
推荐阅读
- c# - 在 FluentValidation 中注入验证器
- assembly - 将常量字符串值传递给寄存器
- java - 创建一个成员函数 /method/,它同时生成原始数据类型数组 - int、double、String
- python - 如何在局域网中的一台计算机上运行 python 脚本并将输出发送到同一局域网中的其他系统?
- linux - 使用 Process.start 在 Linux 中的 .Net Core 中获取“权限被拒绝”
- html - 带有汉堡下拉菜单的引导导航栏对齐问题
- react-native - 如何链接资产中的pdf文件?
- django - DRF/多租户 - 如何在单元测试中指定租户主机(域)?
- mongodb - 如何从地图中找到 mongo ObjectId?
- java - 使用 TIMESTAMP 数据类型创建准备绑定插入语句