Git 修剪上游不再存在的原始分支
这些分支位于上游 这些是我叉子上的树枝 上游回购协议在我分叉后已经更新。我找不到办法从我的分叉上移除上游不再存在的分支。显示如何同步提交历史记录 这个问题有没有一个简单的解决方案?一个技巧是用上游url替换本地回购协议中引用您的fork的来源: 然后,一个命令git fetch-prune将在本地删除所有过时的远程跟踪分支,即remotes/origin/xxx,这些分支不在上游,由“origin”临时引用 最后,您可以为每个remotes/origin/xxx分支检查remotes/origin/xxx是否存在。如果没有:git push-delete-ori-xxx 类似于:在bash中Git 修剪上游不再存在的原始分支,git,git-branch,git-fork,Git,Git Branch,Git Fork,这些分支位于上游 这些是我叉子上的树枝 上游回购协议在我分叉后已经更新。我找不到办法从我的分叉上移除上游不再存在的分支。显示如何同步提交历史记录 这个问题有没有一个简单的解决方案?一个技巧是用上游url替换本地回购协议中引用您的fork的来源: 然后,一个命令git fetch-prune将在本地删除所有过时的远程跟踪分支,即remotes/origin/xxx,这些分支不在上游,由“origin”临时引用 最后,您可以为每个remotes/origin/xxx分支检查remotes/origi
for f in $(git for-each-ref refs/remotes/ori --format '%(refname:short)' |
sed 's,ori/,,') do;
git rev-parse -q --verify refs/remotes/origin/$f >/dev/null ||
git push --delete ori ${f}
done
该脚本可以放在git cleanup或任何git xxx名称中,并用git cleanup或git xxx调用。这样,它就可以在自己的bash中运行,甚至可以在Windows上运行
要完成:
git remote remove origin
git remote rename ori origin
一个技巧是用上游url替换本地回购协议中引用分支的来源:
然后,一个命令git fetch-prune将在本地删除所有过时的远程跟踪分支,即remotes/origin/xxx,这些分支不在上游,由“origin”临时引用
最后,您可以为每个remotes/origin/xxx分支检查remotes/origin/xxx是否存在。如果没有:git push-delete-ori-xxx
类似于:在bash中
for f in $(git for-each-ref refs/remotes/ori --format '%(refname:short)' |
sed 's,ori/,,') do;
git rev-parse -q --verify refs/remotes/origin/$f >/dev/null ||
git push --delete ori ${f}
done
该脚本可以放在git cleanup或任何git xxx名称中,并用git cleanup或git xxx调用。这样,它就可以在自己的bash中运行,甚至可以在Windows上运行
要完成:
git remote remove origin
git remote rename ori origin
不错,但是为了使脚本在将来发生更改时可靠,Git的ref name代码已经转换为可插拔的后端,为每个ref用Git替换find.Git,不幸的是,这需要使用sed或类似的方法来编辑远程设备的名称。完成了,但我没有合适的repo进行测试,所以我单独测试了各个部件。另外,我不使用Wndows,>/dev/null在那里工作吗?人们希望WIndows bash模拟/dev/null…:-非常感谢。在Windows上,它是nul。明天我会复习你的编辑。我在手机上,躺在床上,正要睡觉。很好,但为了使脚本可靠,以防将来发生更改Git的ref name代码已转换为可插拔的后端,请将find.Git替换为Git,因为每个ref都需要使用sed或类似的工具来编辑远程设备的名称。完成了,但我没有合适的repo进行测试,所以我单独测试了各个部件。另外,我不使用Wndows,>/dev/null在那里工作吗?人们希望WIndows bash模拟/dev/null…:-非常感谢。在Windows上,它是nul。明天我会复习你的编辑。我在打电话,躺在床上,快要睡觉了。
git remote remove origin
git remote rename ori origin