'features'というSVNプロジェクトのブランチを作成しました。このプロジェクトを更新しようとすると、ブランチからのプロジェクトの別のコピーを含むfeaturesフォルダーが表示されます。
これがもう起こらないように、リポジトリからブランチを完全に削除する方法はありますか?
'features'というSVNプロジェクトのブランチを作成しました。このプロジェクトを更新しようとすると、ブランチからのプロジェクトの別のコピーを含むfeaturesフォルダーが表示されます。
これがもう起こらないように、リポジトリからブランチを完全に削除する方法はありますか?
確かに:svn rm
不要なフォルダを作成し、コミットします。
将来この状況を回避するために、SVNプロジェクトの推奨レイアウトに従います。
/someproject/trunk
フォルダーに入れます(または
/trunk
、プロジェクトを1つだけリポジトリに入れたい場合)/someproject/branches/somebranch
/someproject/tags
作業コピーをチェックアウトするときは、必ず、trunk
またはいくつかの個別のブランチのみをチェックアウトしてください。すべてのブランチを含む1つの巨大な作業コピーですべてをチェックアウトしないでください。1
1自分が何をしているのかを知らない限り、その場合は浅い作業コピーを作成する方法を知っています。
TortoiseSVNを使用している場合は、リポジトリブラウザ(コンテキストメニューで「リポジトリブラウザ」というラベルが付いています)を使用してこれを実行できます。
削除したいブランチフォルダを見つけて右クリックし、「削除」を選択します。
コミットメッセージを入力すれば完了です。
このブランチが外部またはシンボリックリンクではないと仮定すると、ブランチの削除は次のように簡単になります。
svn rm branches/< mybranch >
svn ci -m "message"
リポジトリでこれを実行したい場合は、更新して作業コピーから削除し、次のようにします。
svn rm http://< myurl >/< myrepo >/branches/< mybranch >
次に、以下を実行します。
svn update
リモートのブランチを直接削除することもできます。それが済んだら、次のアップデートで作業コピーから削除されます。
svn rm "^/reponame/branches/name_of_branch" -m "cleaning up old branch name_of_branch"
'svn info'に見られるように、はリモートのURLの^
略です。^
は特殊文字であるため、Windowsコマンドラインでは二重引用符が必要です。
このコマンドは、ブランチをチェックアウトしたことがない場合にも機能します。
ブランチを削除するコマンドは次のとおりです。
svn delete -m "<your message>" <branch url>
リポジトリ全体をフェッチ/チェックアウトしたくない場合は、端末で次のコマンドを実行します。
1)作業コピーを含むディレクトリの絶対パスを取得します
> pwd
2)svncodecheckoutを開始します>
svncheckout <branchurl><ポイント1からの絶対パス>
上記の手順では、フォルダ全体ではなく、ブランチフォルダ内のファイルを取得します。
チェックアウトの他のフォルダと同じように機能フォルダを削除してから、変更をコミットできます。
将来これを防ぐために、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"