14

ファイルにいくつかの変更を加えましたが、別の方法で変更する必要があることに気付きました。これには、現在の変更を一時的に別の場所に保存して、後で適用する必要があります。TortoiseSVNなどのsvn/subversionツールでこれを行うにはどうすればよいですか?

私が言及している機能はshelveset、TFSでの作成と公開解除に非常に似ています。

方法を知っているなら助けてください。ありがとうございました!

4

4 に答える 4

16

AntonyW の答えはうまくいきますが、特にコードがたくさんある場合はやり過ぎかもしれません。

私は TFS に慣れていませんshelvesetが、svn は、svn diff探していることを実行するためのコマンドを提供します。つまり、差分を作成して保存し、後で適用できるようにします。の出力を取得svn diffして、.patch または .diff ファイルに保存するだけです。

svn diff myfile > myfile.patch

TortoiseSVN を使用しているので、これはさらに簡単です

于 2011-06-16T17:11:43.720 に答える
4

変更を加えてブランチを作成することもできます。差分をディスクに保存するよりも優れている可能性があります。


編集:では、作業コピーにさまざまな種類の変更がありますか? 保持したいファイルと差分に保存したいファイルは? この場合、TortoiseSVN からパッチを作成する方が良いかもしれません。

しかし、作業コピーからのすべての変更をパッチに入れたい場合は、ブランチを作成する方が良いと思います。これは Tortoise では非常に簡単です。

  1. ブランチ/タグを作成し、ワーキング コピーをブランチのソースとしてマークします (新しいブランチに切り替えるためにチェックしないでください)。
  2. Tortoise がブランチを作成した後、すべてのローカル変更を元に戻します
  3. 別の変更を加える
  4. トランクにコミットする
  5. ブランチに切り替えてトランクからの変更をマージする
  6. ブランチをトランクに再統合する

確かに、ほとんどの場合はうまくいきます。パッチはコードレビューに適していますが、未完成の変更のローカルツールセットを作成するためではありません;)

于 2011-06-16T19:06:09.710 に答える
1

与えられた上記の回答に関して、私は(個人的に)それらに同意しません(バルクなど...)。私にとって (そして私も使用しています)、これは現在チーム ファウンデーションによってのみサポートされており、ネットワーク経由で使用できる優れた機能の 1 つです。これは、次の状況で非常に役立ちます。

  1. まず最も顕著なのは、メイン ソース コードにチェックインされた (そして不完全な) コードがなくても、他の人からのレビューを受けることができるということです。
  2. 複数のソリューションがある場合は、アプリケーションでテストできる複数のシェルフセットを使用できます。
  3. 別の人がチェックイン前に部分的なテスト目的であなたの特定のシェルフセットを必要とする場合、それは利用可能です。

この機能を検索したところ、他のほとんどの製品 (SVN、mercurial) が将来この機能を導入する予定であることがわかりましたが、まだ利用できません。

...許可よりも許しを求める方が常に良い....

于 2013-10-08T14:02:06.423 に答える
0

私は通常、新しい場所にチェックアウトし、そこで変更を加えてからコミットします。

後で、元の場所を更新して、変更を以前に変更したバージョンにマージします。

于 2011-06-16T15:54:25.583 に答える