代わりに、トランクのSVNチェックアウトに変更した変更を犯した方法はありますか?
質問
私は、SVNリポジトリでトランクに対するいくつかの変更に取り組み始めたばかりで、それらはやや小さくなると考えています。今、私は実際に、おそらく代わりに新しいブランチを開始したはずだったことに気付き始めています。ブランチを作成してから、個々のピースをそれに移動するのではなく、新しいブランチを作成して、作業コピーの変更をコミットする方法はありますか?
解決
- 開発を始めた場所から新しい枝を作る
- 新しく作成されたブランチに切り替えます
- ローカルの変更をコミットします(新しいブランチにコミットします)
チェックアウトをしないでください
私はSVN 1.6.5でそれを行います、それは問題なく動作しますが、あなたが本当に妄想的であれば、あなたは次のことをすることができます:
- 現在の作業コピーからパッチを作成します
- ブランチを作成します
- それに切り替えます
- パッチを適用します
- 専念
他のヒント
現在の作業からパッチを作成するのはどうですか svn diff
, 、次に新しいブランチを作成し、でブランチにパッチを適用します patch -p0
?
作業コピーの状態を、 svn copy
指図。作成されたブランチには、ローカルの変更が含まれます。
いくつかのゴッチャス:
- 「ファイルが既に存在する」などのエラーが表示される場合があります。これは、作業コピーのベースリビジョンの不一致、より具体的にはファイルとその親フォルダーの間で発生します。考えられる解決策の1つは、aを行うことです
svn update
このように分岐しようとする前に。 - 後に
svn copy
, 、作業コピーは変更されません。それはまだトランクを指しています。また、そのステータスの局所的な変更も表示されます。作業コピーをそのまま使用し続けるか、新しいブランチに切り替えるかどうかにかかわらず、これらの変更を最初に元に戻す必要があります。
所属していません StackOverflow