2012-02-13 12 views
0

私は最近、私のgitリポジトリにいくつかの変更を取得しました。私自身と他の開発者だけがこのリポジトリのユーザです。マージ後の競合マーカー

多数のファイルに競合マーカーがあります。

以前のマージの結果であるように見えます。

commit 9097034d1fab59d83aca2224dd86d8faee871350 
Merge: 428bbf0 dcdcae6 

しかし、他の開発者は、彼の最後に矛盾のマーカーはないと言います。

私はこれがどう起こったのか、彼がどのように問題を見ていないと言っているのかをさらに混乱させています。開発者がマージに矛盾があっても強制的にコミットし、ファイルの矛盾したバージョンをコミットするのであれば、唯一の方法と思われます。

しかし、最初に競合を修正しない限り、gitはマージコミットを作成するとは思わなかった。

どのようなアクションが競合マーカーを確定させる可能性がありますか?

答えて

1

あなたがGitに矛盾を解決したことを伝えると、紛争マーカーがあるかどうかをファイルで調べません。あなたがしていることを考えていなければ、それらをコミットするのは簡単です。ちょうどgit merge、衝突を得る、無視する、git add ...; git commitこれを行わないでください。

さまざまなリポジトリの状況については、ここからは答えが分かりませんが、違いがコミットされていない変更ではないと仮定すると、あなたと他の開発者が異なるコミットを見ているということです。 (あなたは両方ともあなたのそれぞれのマスターブランチにいますか?)あなたはおそらく、すべてを同時に見ているだけです。他の開発者のリポジトリをリモートとして直接追加することができれば、それを行います。それ以外の場合は、現在のブランチを表す一時的なブランチを作成し、中央のリポジトリにプッシュするように依頼してください。 git fetch --allを実行してすべてを取得したことを確認してから、gitk --allまたはgitk master origin/master origin/his-temp-branch(または彼をリモートとして追加した場合はgitk master origin/master his-repo/master)を使用して、すべてのブランチの履歴を表示します。あなたはある種の不一致を見つけるでしょう。

関連する問題