13

マージの競合などの問題が発生するたびに、本当に遅くなります。

競合を強制的に解決する方法を誰かに説明してもらえますか?

たとえば、私の友人がリポジトリ上のファイルを編集してコミットしました。彼がそうしている間に、私はすでにそのファイルの名前を変更し、作業コピーで多くの編集を行っていました。

コミットしようとすると、明らかに競合エラーが発生します。彼が編集したファイルは、私の作業コピーにはもう存在しません。どうすれば SVN にコンフリクトについて泣くのをやめさせ、私の作業コピーを強制的に受け入れるようにさせることができますか (つまり、先頭のリビジョンを私の作業コピーで上書きします)。

4

5 に答える 5

9

作業コピーを更新するときは、ログ リストを右クリックして、競合を解決する方法を選択できます。

  • エディター / TortoiseMerge (または設定したマージ ツール) を使用して解決します。
  • 「theirs」、つまりリポジトリ内のバージョンを使用して解決します
  • 「私のもの」、つまりあなたのバージョンのファイルを使用して解決してください。

これは、ファイルを適切に削除する場合にも機能します。つまり、実際にリポジトリからファイルを削除したい場合は、svn を使用してファイルを削除する必要があります。便利な理由でファイルを削除した場合svn revert、作業コピーにないファイルも変更されたファイルであるため、更新する前に削除することをお勧めします (当然のことですが)。

要約すると、svn に「泣くのをやめる」ように指示して、単に作業コピーで上書きすることはできません。これは良いことです。競合を解決し (現在の状態を単純に上書きすることを意味する場合があります)、影響を受けるファイルを解決済みとしてマークし ( svn resolved)、結果をコミットする必要があります。

于 2009-07-02T21:39:28.487 に答える
5

これが私がやった方法です:

  1. Solutions フォルダを右クリックし、TortoiseSVN -> Show Log をクリックします。
  2. 元に戻したいリビジョンを右クリックし、[このリビジョンからの変更を元に戻す] を選択します。
  3. 競合するフォルダーを右クリックし、[解決済み] を選択します。
  4. ソリューションをコミットする
  5. 利益
于 2009-06-30T22:44:38.220 に答える
1

これを防ぐ最善の方法は、ファイルを変更する前に更新することです。変更が完了したら、コミットする前に更新すると変更が失われます。

于 2013-03-21T18:26:14.650 に答える
1

これを防ぐ最善の方法は、コミットする前に更新することです。

于 2009-06-30T20:40:49.733 に答える