通过git删除svn-Branch?

Der*_*ops 61 git git-svn

我使用git作为scm的首选,但必须使用svn-repo.我可以像这样创建一个svn-remote-branch:

git svn branch the_branch
Run Code Online (Sandbox Code Playgroud)

但是我如何删除远程分支?

mha*_*ger 85

目前,无法使用git-svn删除SVN分支.但是使用SVN很容易删除分支,甚至无需检查它.所以简单地输入

svn rm $URL/branches/the_branch
Run Code Online (Sandbox Code Playgroud)

请注意,删除Subversion分支不会导致它从git-svn存储库中删除.(这是故意的,因为删除Subversion分支不会导致任何信息丢失,而删除git分支会导致在下一个git垃圾收集后忘记它的存在.)所以如果你想从你的git中删除远程SVN分支存储库,您必须手动执行:

git branch -D -r the_branch
rm -rf .git/svn/the_branch

OR
rm -rf .git/svn/refs/remotes/f8745/ (for newer versions)
Run Code Online (Sandbox Code Playgroud)

要删除与Subversion标记对应的git分支,命令略有不同:

git branch -D -r tags/the_tag
rm -rf .git/svn/tags/the_tag
Run Code Online (Sandbox Code Playgroud)

  • 如果git具有repo的完整历史记录,并且repo中存在该分支,那么在.git目录中删除内容的处理是什么?这完全是误导新手来自svn的git. (2认同)

Ste*_*n C 6

这对我很有用,谢谢.不确定我的环境是不同的还是在最新版本的git中更改了,但svn分支dirs位于.git/svn/refs/remotes /中,这很简单,可以从原始说明中找到,更改rm命令:

rm -rf .git/svn/refs/remotes/the_branch
Run Code Online (Sandbox Code Playgroud)

不确定标签,因为我不使用那些.