3

私はEclipseをEGitで使用しており、私のオリジン/マスターはgithubにあります。このプロジェクトでは、3人のプログラマーが働いています。

(EGitを使用して)ローカルgitに変更をプルし、競合がある場合は、問題なく解決します。

コミットすると、最後のコミット(プル前)以降に変更されたすべてのファイルを含むマージがコミットされ、gitでは、マージのこの最後のコミットで私が行ったかのように、他のプログラマーによるこれらすべての変更が表示されます。 ..

なぜこれが起こるのですか?私は何が間違っているのですか?

更新(14.10.2012):@robinst のおかげで、マージされたファイルのみで正しいマージを正しくコミットすることができました。

しかし、それでも2つの問題があります。(1)マージツールが利用できなかったのに、なぜそうなるのでしょうか。(灰色でクリックできません); (2)「Gitステージング」ビューが見つかりませんでした...どこに隠れていますか?

4

1 に答える 1

2

マージに競合がある場合、(競合がない場合のように)マージ結果を自動的にコミットする代わりに、競合していないファイルがステージングされ、競合しているファイルは「競合」状態になります。次に、各ファイルの競合を解決してからステージングする必要があります。

すべての競合を解決した(そしてファイルをステージングした)後、マージをコミットする必要があります。Gitステージングビューを使用している場合、すべての競合を解決した後、メッセージがマージメッセージに変わることがわかります。その後、ツールバーのコミットアイコンを押します。

そうして初めて、コミットの作業を続けることができます。

すべての競合を解決した後、マージをコミットせず、マージ結果と独自の変更が混在しているようです。これは本当でしょうか?

于 2012-10-03T12:33:06.450 に答える