ファイルにいくつかの変更を加えましたが、別の方法で変更する必要があることに気付きました。これには、現在の変更を一時的に別の場所に保存して、後で適用する必要があります。TortoiseSVNなどのsvn/subversionツールでこれを行うにはどうすればよいですか?
私が言及している機能はshelveset
、TFSでの作成と公開解除に非常に似ています。
方法を知っているなら助けてください。ありがとうございました!
ファイルにいくつかの変更を加えましたが、別の方法で変更する必要があることに気付きました。これには、現在の変更を一時的に別の場所に保存して、後で適用する必要があります。TortoiseSVNなどのsvn/subversionツールでこれを行うにはどうすればよいですか?
私が言及している機能はshelveset
、TFSでの作成と公開解除に非常に似ています。
方法を知っているなら助けてください。ありがとうございました!
AntonyW の答えはうまくいきますが、特にコードがたくさんある場合はやり過ぎかもしれません。
私は TFS に慣れていませんshelveset
が、svn は、svn diff
探していることを実行するためのコマンドを提供します。つまり、差分を作成して保存し、後で適用できるようにします。の出力を取得svn diff
して、.patch または .diff ファイルに保存するだけです。
svn diff myfile > myfile.patch
TortoiseSVN を使用しているので、これはさらに簡単です。
変更を加えてブランチを作成することもできます。差分をディスクに保存するよりも優れている可能性があります。
編集:では、作業コピーにさまざまな種類の変更がありますか? 保持したいファイルと差分に保存したいファイルは? この場合、TortoiseSVN からパッチを作成する方が良いかもしれません。
しかし、作業コピーからのすべての変更をパッチに入れたい場合は、ブランチを作成する方が良いと思います。これは Tortoise では非常に簡単です。
確かに、ほとんどの場合はうまくいきます。パッチはコードレビューに適していますが、未完成の変更のローカルツールセットを作成するためではありません;)
与えられた上記の回答に関して、私は(個人的に)それらに同意しません(バルクなど...)。私にとって (そして私も使用しています)、これは現在チーム ファウンデーションによってのみサポートされており、ネットワーク経由で使用できる優れた機能の 1 つです。これは、次の状況で非常に役立ちます。
この機能を検索したところ、他のほとんどの製品 (SVN、mercurial) が将来この機能を導入する予定であることがわかりましたが、まだ利用できません。
...許可よりも許しを求める方が常に良い....
私は通常、新しい場所にチェックアウトし、そこで変更を加えてからコミットします。
後で、元の場所を更新して、変更を以前に変更したバージョンにマージします。