3

これは単純なはずですが、どういうわけか私はそれを理解することができません:

次のように、最後から2番目のリビジョン、たとえばリビジョン100(HEADは101)に更新しましたsvn up -r 100。次に、さまざまな変更を加えました。次に、変更したファイルをリビジョン102としてチェックインする必要があります(必要に応じて101に戻ることができるようにするため)。それ、どうやったら出来るの?単に実行するsvn commitと、「古い」エラーが発生します。svn upHEAD(101)の変更を元に戻したくないので、古い問題を修正することもできません...

4

2 に答える 2

3

変更したファイルを一時フォルダに保存します。バックアップ用にローカルリポジトリの名前を変更します。新しいローカルリポジトリを作成します。コードの変更を、一時フォルダーにコピーされたファイルに貼り付けます。専念。

コミットする前に、KDiffを実行してすべての変更が正しいことを確認することをお勧めします。

これがこの問題に役立つことを願っています。

于 2012-05-01T14:27:21.883 に答える
2

以前のコミットの変更を元に戻すには、次ではsvn mergeなく、を使用する必要がありsvn upます。

の代わりにsvn up -r100、HEADリビジョンをチェックして実行してくださいsvn merge -c -101 .

その結果、ローカルファイルに同じコンテンツが含まれるようになりますが、Subversionは、コミットを許可する前にリビジョン101の変更を再適用しようとしなくなりました。

変更を元に戻す方法については、svnのマニュアルも参照してください。

于 2012-05-01T14:53:19.750 に答える