Git ブランチ (たとえばメインライン) があり、別の開発ブランチにマージしたいと考えています。 本当にそうでしょうか?
このブランチを本当にマージするかどうかを決めるために、マージによって何が行われるかのプレビューを確認したいと思います。できれば、適用されているコミットのリストを確認できる機能があるとよいと思います。
今のところ、私が思いつく最善の方法はmerge --no-ff --no-commit
、 、そしてですdiff HEAD
。
ベストアンサー1
git log ..otherbranch
- 現在のブランチにマージされる変更のリスト。
git diff ...otherbranch
- 共通の祖先 (マージ ベース) からマージされるものの先頭までの diff。3つのドットは、2 つのドット (下記参照) と比べて特別な意味を持つことに注意してください。
gitk ...otherbranch
- 前回マージされてからのブランチのグラフィカルな表現。
空の文字列は を意味するHEAD
ので、 の代わり..otherbranch
にを使用しますHEAD..otherbranch
。
diff の場合、2 つのドットと 3 つのドットの意味は、リビジョンを一覧表示するコマンド (log、gitk など) の場合とは少し異なります。log やその他の場合、2 つのドット ( a..b
) は にあるb
が にはないすべてのものを意味しa
、3 つのドット ( ) は または のどちらか一方a...b
にのみあるすべてのものを意味します。ただし、diff は 2 つのリビジョンで動作し、2 つのドット ( )で表されるより単純なケースはとの単純な違いであり、3 つのドット ( ) は共通の祖先と( ) の違いを意味します。a
b
a..b
a
b
a...b
b
git diff $(git merge-base a b)..b