SVN ブランチの削除
-
26-09-2019 - |
質問
「features」という SVN プロジェクトのブランチを作成しました。このプロジェクトを更新しようとすると、ブランチからのプロジェクトの別のコピーを含む features フォルダーが作成されます。これ以上起こらないようにリポジトリからブランチを完全に削除する方法はありますか?
解決
もちろん: svn rm
不要なフォルダーを削除し、コミットします。
将来このような状況を避けるために、私は次のようにします 推奨レイアウト SVN プロジェクトの場合:
- コードを
/someproject/trunk
フォルダー (または単に/trunk
リポジトリに1つのプロジェクトのみを配置したい場合) - ブランチを次のように作成しました
/someproject/branches/somebranch
- その下にタグを置きます
/someproject/tags
作業コピーをチェックアウトするときは、必ずチェックアウトするものだけをチェックアウトしてください trunk
または個別のブランチ。 やめてください すべてのブランチを含む 1 つの巨大な作業コピーですべてをチェックしてください。1
1自分が何をしているのかを理解している場合は別ですが、その場合は、浅い作業用コピーを作成する方法を知っています。
他のヒント
枝を取り除く、このブランチは、外部またはシンボリックリンクではないと仮定するような単純なようでなければなりません
svn rm branches/< mybranch >
svn ci -m "message"
あなたがリポジトリにこれを実行したい場合は、あなたのような何かを行うことができますコピー作業からそれを削除するには更新します:
svn rm http://< myurl >/< myrepo >/branches/< mybranch >
次に実行します:
svn update
TortoiseSVNのに使用したものに対しては、リポジトリブラウザ使用することによって、これを達成することができます(それがコンテキストメニューに「レポブラウザ」ラベルですが。)
は、削除するには、それを右クリックし、選択したいフォルダのブランチを探す「を削除します。」
あなたのコミットメッセージを入力すれば完了です。
この< "コミット" IMG SRC = "https://i.stack.imgur.com/MqS68.jpg" ALT =>
また、直接リモコンのブランチを削除することができます。次回の更新は作業コピーから削除されます、という終われます。
svn rm "^/reponame/branches/name_of_branch" -m "cleaning up old branch name_of_branch"
^
は「SVN情報」に見られるように、リモートのURLの略です。 ^
が特殊文字であるため、二重引用符は、Windowsのコマンドラインで必要です。
このコマンド意志も仕事あなたがブランチをチェックアウトしたことがない場合。
あなたは機能を削除することができ、あなたのチェックアウトでも他と同様にフォルダその後、変更をコミットします。
私はあなたがSVNのレイアウトのための命名規則に従ってください示唆将来的には、これを防止するために、
各プロジェクトには、作成されたとき、フォルダトランク、枝、タグを与えるのどちらか。
svn
+ project1
+ trunk
+ src
+ etc...
+ branches
+ features
+ src
+ etc...
+ tags
+ project2
+ trunk
+ branches
+ tags
svn rm branches/features
svn commit -m "delete stale feature branch"
コマンドは、次のとおりです。
のsvn削除-m "<メッセージ>" <ブランチURL>
あなたはあなたのターミナルで以下のコマンドを実行し、/チェックアウト全体のレポをフェッチしないようにしたい場合:
1)は、あなたの作業コピーの
を格納するディレクトリの絶対パスを取得します
> PWD
2)スタートのsvnコードのチェックアウト
> SVNチェックアウト<分岐URL> <ポイント1からの絶対パス>
上記の手順は、あなたのブランチフォルダ全体ではなく、フォルダ内のファイルを取得します。