1

複数の開発者が単一のWebアプリケーション/プロジェクトに取り組んでいます。そのために、AnkhSVNを使用します。

開発者の1人がいくつかの変更を加え、プロジェクトをコミットしました。数日後、チームで開発された別の人がいくつかの変更を加え、コミットも行いました。

その後、最初の開発者の変更は消えました。2番目の開発者の変更は、最初の開発者の変更を上書きしました。

復元する方法は?両方の更新を保持する方法は?

具体的にお願いします。このトピックの解決は非常に重要です。

4

1 に答える 1

1

実際、最新でない場合、変更をコミットすることはできません。私は、2 番目のコミッターが何か悪いことをしたと思います...したがって、問題は、2 つの変更を「死後」にマージすることです。

回復するために、私は試してみます(あなたがしたことを正しく理解していると仮定します;そして、私はそれを試していないので、それは教育を受けた推測です):

  1. 現在の状態 (.svn フォルダーなし!) を一時フォルダーにコピーします。これは、コミッター 2 の初期状態への変更である必要があります。
  2. 最初のリビジョンがコミットされる前のリビジョンにロールバックします(「リビジョンへの更新」)-つまり、両方が(おそらく)開始したバージョンに戻ります
  3. 一時フォルダーから変更をコピーします
  4. 最初のリビジョンがコミットされた後にリビジョンに更新します。これにより、変更をマージしようとする必要があり、手動で解決する必要があるいくつかの競合が発生する可能性があります (これはおそらく 2 番の間違いです)。 この後、作業コピーに両方の変更が含まれているはずです。
  5. 一時フォルダーをクリアし、現在の状態をコピーします (.svn フォルダーなし)
  6. 今、私たちは醜くなっています: HEAD リビジョンに更新し、変更をコピーして戻します
  7. 意味のあるものがあることを確認 (コンパイル) してコミットします。

リポジトリを破損しない限り、実際には何も失うことはないことを忘れないでください-これは結局のところバージョン管理です... :-)

于 2012-08-04T18:32:20.797 に答える