転覆:チェックアウトして変更し、ブランチにすることはできますか?

StackOverflow https://stackoverflow.com/questions/1308791

  •  19-09-2019
  •  | 
  •  

質問

トランクからローカル DIR にチェックアウトし、そこで多くのローカル変更を加えました。ここでは、トランクにコミットし直すのではなく、このローカル バージョンからブランチを作成したいと考えています。それは可能ですか?

トランクをブランチにコピーしてから、 cd DIR そして svn switch 支店まで?

アップデート:答えてくれてありがとう、うまくいきました!手順を要約すると、次のようになります。

  • cd DIR
  • svn copy . new-branch-URL
  • svn switch new-branch-URL .

(点に注目してください)

役に立ちましたか?

解決

は、コマンドラインのヘルプのsvnコピーによると、リポジトリのURLにディレクトリからコピーすることができます。だから、例えば、ブランチに作業コピーをコピーすることができるはずです:ます。

svn copy working_directory url_to_branch

他のヒント

SVNブック(ます。http: //svnbook.red-bean.com/en/1.6/svn-book.html#svn.branchmerge.using.create の)ローカルの作業コピーからブランチを作成することはお勧めしません。

  

それは作業コピー内のディレクトリを複製するsvn copyを使用してブランチを作成することも可能ですが、この手法は推奨されません。それは実際には、非常に遅くすることができます!それは実際には、ローカルディスク上の作業コピーディレクトリ内のすべてのファイルとサブディレクトリを複製するために持っているという点で、クライアント側のディレクトリをコピーすると、線形時間操作です。

その代わり、最初のブランチを作成し、変更をコミットすることができますので、その後svn switchコマンドを使用します。作業コピーは、トランクとの期限が切れ大幅であれば、「REV」はsvn infoによって報告された作業コピーのリビジョンであるソースURLに「@REV」を追加します。

  

サーバー上のディレクトリをコピーする、しかし、一定時間操作であり、それはほとんどの人が枝を作成する方法です。

$ svn copy http://svn.example.com/repos/calc/trunk \
           http://svn.example.com/repos/calc/branches/my-calc-branch \
      -m "Creating a private branch of /calc/trunk."

私のSVNクライアントでは:TortoiseSVN で十分です:

  • 分岐したいトップディレクトリを右クリック
  • 「To URL」でリポジトリ内のブランチディレクトリを選択します
  • 「リポジトリにコピーを作成:」フレームで「作業コピー」を選択します

終わり :)

これは、ローカル バージョンを指定したリポジトリ URL にコピーするのと同じです。

はい、次の方法でこれを行うことができます SVNコマンドライン 同様に 亀SVN.

SVN 作業コピーを src として指定し、新しいブランチをコピー先として指定する必要があります。

svn copy <file/path/to/working/copy> <URL/TO/REPOSITORY/BRANCH>

指示。

TortoiseSVN では、作業コピーをポイントし、コンテキストメニューから「ブランチ/タグ」を選択し、「次からリポジトリにコピーを作成」セクションで「作業コピー」を選択するだけです。

このような方法でタグを作成するのは (トレーサビリティ上の理由から) 良い考えではありませんが、ブランチの場合は全く問題ありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top