自分の作業ディレクトリでファイルを修正して、svnアップデートを実行しました。更新は矛盾なく実行されました。svnの更新を元に戻す方法は?
私は、作業ディレクトリの内容をsvnアップデートの直前の状態に戻すことができます。
私はローカルのgitリポジトリを共有svnリポジトリと並行して維持しているからです。私はsvnの更新を行う前に私のローカル変更をコミットするgitを忘れていた。今私の作業ディレクトリには、ローカルの変更がsvnの更新に起因する変更と混在しています。私がコミットすると、すべての変更は1つのアトミックな変更として表示されます。私は彼らが別々になることを望んだ。私がアップデートを元に戻し、私がsvnアップデートの前に持っていた作業ディレクトリの内容を保存できるなら、私はそれを行うことができます。
私は別の方法でそれを解決に利用できるファイルとリビジョンのファイルのコピーが存在します。ローカルの変更は、更新プログラムの影響を受けないファイルにありました。だからgitステージのメカニズムのおかげで、私は、ローカルで変更されたファイルをコミットし、2回目のコミットでは、svnの更新によって変更された他のすべてのファイルが変更されました。私は運が良かった。 – chmike
はい、gitステージが脱出です。ファイルに影響があったとしても、 'svn diff'と' git apply'を使ってSubversionの変更や変更を取り除くことができます。 –
どちらの場合でも、将来は 'git-svn'を使うことをお勧めします。リビジョンのインポートとエクスポートを確実に処理できるほか、ローカルパッチキューとして使用することもできます(ローカルブランチで複数のコミットを行い、インタラクティブなリベースを使用してそれらの一部のみをサブバージョンにプッシュできます)。 –