私はbranch-Xを使っていて、その上にさらに2つのコミットを追加しました。私がコミットしているMASTERとブランチの違いをすべて見てみたいと思います。私はちょうどすることができました
git checkout master
git log
そして、
git checkout branch-X
git log
これらを視覚的に比較してみましょうが、私はもっと簡単でエラーの少ない方法を望んでいます。
あなたはあなたのブランチがこれによってどのように異なるかの本当に素晴らしい、視覚的な出力を得ることができます
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X
あなたは簡単にそれを行うことができます
git log master..branch-X
それはあなたがbranch-Xが持っているがmasterは持っていないことをコミットすることを示します。
私はそれが選択と文脈の問題だと思います。私は使うのが好きです
git log Origin/master..Origin/develop --oneline
それはマスターブランチにない開発のコミットを表示します。
実際にどのファイルが変更されたのかを知りたい場合
git diff --stat Origin/master..Origin/develop
引数を指定しないと、完全な差分が表示されます。視覚的な差分を見たい場合は、Linuxではmeld
、WindowsではWinMerge
をインストールしてください。それらがデフォルトのdifftoolsであることを確認してください。
git difftool -y Origin/master..Origin/develop
現在のブランチと比較したい場合。 useのようにブランチ名の代わりにHEADを使うほうが便利です:
git fetch
git log Origin/master..HEAD --oneline
マージされようとしているコミットがすべて表示されます。
あなたがLinuxを使っているなら、gitg
はとても速くそしてグラフィカルにそれをするための方法です。
あなたがコマンドラインを主張するならば、あなたは使うことができます:
git log --oneline --decorate
デフォルトでgit log
をよりきれいにするために、私は通常これらのグローバル設定を設定します:
git config --global log.decorate true
git config --global log.abbrevCommit true
「コミット」の違いを確認するには、次のようにします。対称にするには、引数を反転してコマンドを繰り返します。
git cherry -v master [your branch, or HEAD as default]
gitkを使いたい場合は
gitk master..branch-X
それは素敵な古い学校のGUiを持っています
私はいくつかの答えを使用し、私のケースに合ったものを見つけました(すべてのタスクがリリースブランチにあることを確認してください)。
他の方法も同様に機能しますが、値を追加しないマージコミットなど、必要のない行を追加する可能性があることがわかりました。
git fetch
git log Origin/master..Origin/release-1.1 --oneline --no-merges
または、現在の電流をマスターと比較できます
git fetch
git log Origin/master..HEAD --oneline --no-merges
git fetch
は、更新された情報を使用していることを確認するためにあります。
この方法では、各コミットが1行になり、それをコピーしてテキストエディターに貼り付け、マージされるコミットとタスクの比較を開始できます。
コミットメッセージに基づいて比較する場合は、次の操作を実行できます。
git fetch
git log --oneline Origin/master | cut -d' ' -f2- > master_log
git log --oneline Origin/branch-X | cut -d' ' -f2- > branchx_log
diff <(sort master_log) <(sort branchx_log)
#! /bin/bash
if ((2==$#)); then
a=$1
b=$2
alog=$(echo $a | tr '/' '-').log
blog=$(echo $b | tr '/' '-').log
git log --oneline $a > $alog
git log --oneline $b > $blog
diff $alog $blog
fi
これは、あなたが視覚的な差分ツールを持っていれば、aとbの対数を並べて視覚的に比較できるためです。最後のdiffコマンドを視覚的な差分ツールを起動するコマンドに置き換えます。