4

だから私と友達はプロジェクトに取り組んでいます。私たちは一般的にさまざまな分野で働いているため、ほとんどの場合、マージは簡単です。

最近、私たちはますますお互いにぶつかり合い、厄介なマージ(期限)を作成しています。

そこで、マージが何をするかを確認する方法の調査を開始しました。git diffを使用する方法を見つけました:

git diff mybranch...hisbranch

これはかなり良い結果をもたらします。問題は、最後の共通の祖先を使用し、祖先がどんどん戻ってきているため、どちらのブランチでも変更されていない多くのジャンクがマージに存在することです。

だから私は、マージが何をするかを正確に視覚化する方法があるのだろうかと思っています。

私はもう試した:

git diff $(git-merge mybranch hisbranch) hisbranch

これは問題なく機能しているようですが、別の方法でマージを視覚化したいので、次のことを試しました。

git diff $(git-merge hisbranch mybranch) mybranch

しかし、この場合git-merge: command not found

マージによって何が導入されるかを示す2つのブランチの差分を取得するための良い方法を知っている人はいますか?多分対立を強調しますか?

そうでない場合は、手動でコミットを実行できるビジュアルツールがあるので、コードのどのバージョンが最適かを選択できます。

4

1 に答える 1

7

何が起こるかを視覚化する方法は他にもありますが、最も簡単なのはgit merge --no-commitです。マニュアルページから:

--commit, --no-commit
Perform the merge and commit the result. This option can be used to override --no-commit.

With --no-commit perform the merge but pretend the merge failed and do not autocommit, to give the user a chance to inspect and further tweak the merge
result before committing.

基本的には、結果を発行git merge --no-commit <branch>して検査するだけです。それらが気に入らない場合は、を発行します。git merge --abortマージをコミットする場合は、通常どおりに続行しますgit commit

于 2012-07-30T20:31:13.577 に答える