マスターと最後のコミットの間のgit-diffの表示

マスターと最後のコミットの間のgit-diffの表示

git他の人とコラボレーションするときによく使用します。共有リポジトリで一緒に作業するときは、HEAD最後のコミットと現在のマスターブランチ(または現在)の間で他の人が変更を確認できるようにしたいです。

これまで、私は次のワークフローを使用しています。

git fetch         # download everything
git merge         # since I'm a trusting person ;)
git logadog       # my git-alias for `git log --all --decorate --oneline --graph`
                  # manually look into how many commits were performed since my last commit
git diff HEAD~3   # if 3 commits were performed since then

git diff c0ffeeまたは(最後のコミット)を使用することもできますc0ffee

これが機能している間、私はもっと簡単なことを好みますgit diff COMPARE_HEAD_WITH_THE_LAST_COMMIT_FROM_MY_USERが、どのように機能するのかわかりません。

私も良いvimプラグインを使用しています。fugitive作成:Tim Pope :Gdiffsplit HEAD~THE_STUFF_FROM_ABOVE- 構文を使用してこれを行うことができれば良いでしょう。

ベストアンサー1

これは問題を解決する「gitのような」方法ではありません。通常、最後のコミットを指す分岐を維持します。

ただし、この質問に答えるには、次のヘルパー機能を試してください。これは非常に効率的ではなく、いくつかの低レベルのコマンドを使用する必要があるかもしれません。

my_last_commit(){
        local ME="$(git config user.name)"
        git log --format='%h%n' --author="$ME" -1
}

その後、これを実行できますgit diff $(my_last_commit)..HEAD(デフォルトであるため、必要に応じてHEADを省略できます)。git logadog $(my_last_commit)^..

おすすめ記事