4

ここで問題が発生しましたが、理由がわかりません。おそらく何か間違ったことをしたのでしょう。私は同じファイルで作業しており、他の開発者も同じファイルで作業していました。彼は、ファイルがリポジトリにプッシュされたと言いました。変更をプルする前に、コミットを行ったので、変更が保存され、他の開発者の変更とマージされましたが、ファイルが競合を引き起こしていることに驚きました。右クリックを開くと=>競合を解決すると、次のウィンドウが表示されます。

ここに画像の説明を入力

そこにある各オプションは何を意味しますか?どちらがより安全で、両方の変更を保存しますか? (開発者と鉱山)

開くConflict solverと、次のようなものが得られます。

ここに画像の説明を入力

しかし、繰り返しますが、両方の変更を維持するためにどのように、または何をすべきかわかりません。何かアドバイスはありますか? ヘルプ?

4

1 に答える 1

8

私は smartgit を使用しませんが、スクリーンショットから、次のようにオプションが git コマンドにマップされていることがわかります。

  1. 何もせず、ファイルを未解決のままにします。このオプションを選択するとどうなるかわかりません。
  2. 他の開発者の変更を git コマンドとして使用します。git checkout --ours -- FILE
  3. 私の変更を git コマンドとして使用します。git checkout --theirs -- FILE
  4. すでに行ったように、競合リゾルバーを開きます。

--theirswhenusing my changesを使用する理由に興味があるかもしれませんが--oursusing their changesこれはrebase、元の変更を他の開発者の変更に基づいてリベースしているからです。. rebase_ HEAD_ theirs_

両方の変更を保存する必要があるため、すべての競合を手動で解決してmark the file as resolvedから、リベースを続行する必要があります。

于 2015-01-26T10:47:27.697 に答える