gitをscmとして使用していますが、svn-repoを使用する必要があります。gitでsvn-branchを削除しますか?
git svn branch the_branch
しかし、どのように私は、リモートブランチを削除することができます。私はこのようなSVN-リモートブランチを作成することができますか?
gitをscmとして使用していますが、svn-repoを使用する必要があります。gitでsvn-branchを削除しますか?
git svn branch the_branch
しかし、どのように私は、リモートブランチを削除することができます。私はこのようなSVN-リモートブランチを作成することができますか?
現在、git-svnを使用してSVNブランチを削除することはできません。しかし、それをチェックする必要もなく、SVNを使ってブランチを削除するのは簡単です。だから、単に
svn rm $URL/branches/the_branch
を入力Subversionのブランチを削除すると、それはのgit-svnのリポジトリから削除されることはありませんのでご注意ください。 (これは意図的です。なぜなら、Subversionブランチを削除しても情報が失われるわけではなく、gitブランチを削除すると、次のgitガベージコレクションの後にその存在が忘れられるからです。)したがって、リモートSVNブランチをgitから削除したい場合リポジトリは、あなたが手動で行う必要があります:
git branch -D -r the_branch
rm -rf .git/svn/the_branch
OR
rm -rf .git/svn/refs/remotes/f8745/ (for newer versions)
をSubversionのタグに対応Gitのブランチを削除するには、コマンドは多少異なります。
git branch -D -r tags/the_tag
rm -rf .git/svn/tags/the_tag
これは私のためによく働いた、ありがとう。私の環境がちょっと変わったのか、これがもっと最近のバージョンのgitで変更されたのかは分かりませんが、svnブランチディレクトリは.git/svn/refs/remotes /にあります。 rmコマンドに:
rm -rf .git/svn/refs/remotes/the_branch
私はそれらをあまり使用しないので、タグについてはわかりません。
中にエラー、トップの答えは、2009年に書いた、今遠隔タグを削除する正しい方法は、2017年のよう
svn rm svn://dev.in/branches/ios_20130709150855_39721/
git branch -d -r ios_20130709150855_39721
これは、強制的に削除しない-Dの代わりに-dを使用している以外は、一番上の答えと同じです。 –
@JeffSchumacher彼は最近答えを更新しました。 – alswl
で、我々はまだgit svn branch --delete
を持っていません。 (-d
オプションがありますが、それはfor mystic --destination
である)他の回答で述べたように
、手動の手順は次のとおりです。、コミットメッセージでgit log -1 $commit
git-svn-id: $url
ラインsvn rm $url
これらのステップを自動化する別名を作成しました。
[alias]
svn-rm-branch = "!f() { if git_svn_id=\"$(git log -1 --format=%B \"[email protected]\" | grep -o '^git-svn-id:[^@]*')\" ; then svn rm --editor-cmd=\"$(git var GIT_EDITOR)\" \"$(echo $git_svn_id | cut -d' ' -f 2)\" ; else echo No git-svn-id in the message of the commit \"$(git rev-parse \"[email protected]\")\" 1>&2; fi }; f"
Stephen Cが別の答えで推測しているように、.git/svn内のツリーの正確な構造は、git-svn設定をどのように設定するかによって異なります。つまり、ほとんどの一般的な構成では、削除する正しいサブディレクトリを特定するのは難しいことではありません。 – ipmcc
は 'git gc'や' git svn gc'は推測することなく正しいファイルを検出して削除するでしょうか? –
Ben: "rm -rf"コマンドはブランチのgit-svnメタデータを削除します。この情報は "git gc"または "git svn gc"によってクリーンアップされません。 – mhagger