94

'features'というSVNプロジェクトのブランチを作成しました。このプロジェクトを更新しようとすると、ブランチからのプロジェクトの別のコピーを含むfeaturesフォルダーが表示されます。

これがもう起こらないように、リポジトリからブランチを完全に削除する方法はありますか?

4

7 に答える 7

111

確かに:svn rm不要なフォルダを作成し、コミットします。

将来この状況を回避するために、SVNプロジェクトの推奨レイアウトに従います。

  • コードを /someproject/trunkフォルダーに入れます(または /trunk、プロジェクトを1つだけリポジトリに入れたい場合)
  • として作成されたブランチ/someproject/branches/somebranch
  • 下にタグを付けます/someproject/tags

作業コピーをチェックアウトするときは、必ず、trunkまたはいくつかの個別のブランチのみをチェックアウトしてください。すべてのブランチを含む1つの巨大な作業コピーですべてをチェックアウトしないでください。1

1自分が何をしているのかを知らない限り、その場合は浅い作業コピーを作成する方法を知っています。

于 2010-09-28T20:15:11.813 に答える
63

TortoiseSVNを使用している場合は、リポジトリブラウザ(コンテキストメニューで「リポジトリブラウザ」というラベルが付いています)を使用してこれを実行できます。

コンテキストメニュー

削除したいブランチフォルダを見つけて右クリックし、「削除」を選択します。

フォルダを削除する

コミットメッセージを入力すれば完了です。

コミット

于 2014-04-30T13:56:47.700 に答える
59

このブランチが外部またはシンボリックリンクではないと仮定すると、ブランチの削除は次のように簡単になります。

svn rm branches/< mybranch >

svn ci -m "message"

リポジトリでこれを実行したい場合は、更新して作業コピーから削除し、次のようにします。

svn rm http://< myurl >/< myrepo >/branches/< mybranch >

次に、以下を実行します。

svn update
于 2010-09-28T20:13:19.310 に答える
13

リモートのブランチを直接削除することもできます。それが済んだら、次のアップデートで作業コピーから削除されます。

svn rm "^/reponame/branches/name_of_branch" -m "cleaning up old branch name_of_branch"

'svn info'に見られるように、はリモートのURLの^略です。^は特殊文字であるため、Windowsコマンドラインでは二重引用符が必要です。

このコマンドは、ブランチをチェックアウトしたことがない場合にも機能します。

于 2014-07-25T13:45:46.070 に答える
4

ブランチを削除するコマンドは次のとおりです。

svn delete -m "<your message>" <branch url>

リポジトリ全体をフェッチ/チェックアウトしたくない場合は、端末で次のコマンドを実行します。

1)作業コピーを含むディレクトリの絶対パスを取得します
> pwd
2)svncodecheckoutを開始します>
svncheckout <branchurl><ポイント1からの絶対パス>

上記の手順では、フォルダ全体ではなく、ブランチフォルダ内のファイルを取得します。

于 2017-06-12T11:03:14.830 に答える
3

チェックアウトの他のフォルダと同じように機能フォルダを削除してから、変更をコミットできます。

将来これを防ぐために、SVNレイアウトの命名規則に従うことをお勧めします。

作成時に、各プロジェクトにトランク、ブランチ、タグフォルダーを指定します。

svn
+ project1
  + trunk
    + src
    + etc...
  + branches
    + features
      + src
      + etc...
  + tags
+ project2
  + trunk
  + branches
  + tags
于 2010-09-28T20:16:04.130 に答える
3

作業コピーから:

svn rm branches/features
svn commit -m "delete stale feature branch"

于 2010-09-28T20:16:04.620 に答える