リモートリポジトリで「プッシュ」によって何が正確に変更されたかを確認する方法がわかりません。「gitlog」は一連のコミットを示していますが、それらは私のローカルリポジトリで行われ、異なる時間にプッシュされました。どのコミットがそれぞれの特定の「プッシュ」の一部であったか知りたいです
14659 次
2 に答える
22
実際には、reflogからこの情報を取得できます。これは、リモートリポジトリの完全な履歴ではなく、リモートリポジトリのブランチのコピーの履歴です。したがって、他の人がリモートリポジトリに加えた変更は表示されません。かわいくないですが、おそらくそれを簡単にするためのスクリプトを書くことができます。
例えば:
$ git reflog show origin/master
ca4f119 refs/remotes/origin/master@{0}: pull --rebase: fast-forward
d303ece refs/remotes/origin/master@{1}: pull --rebase: fast-forward
ce28c26 refs/remotes/origin/master@{2}: pull --rebase: fast-forward
0f71883 refs/remotes/origin/master@{3}: pull --rebase: fast-forward
8c2f0dd refs/remotes/origin/master@{4}: pull --rebase: fast forward
2958d6c refs/remotes/origin/master@{5}: update by push
6e9558c refs/remotes/origin/master@{6}: pull --rebase: fast-forward
8854b35 refs/remotes/origin/master@{7}: pull --rebase: fast-forward
b96f25d refs/remotes/origin/master@{8}: pull --rebase: fast-forward
efb0ab8 refs/remotes/origin/master@{9}: pull --rebase: fast-forward
71c12ca refs/remotes/origin/master@{10}: pull --rebase: fast-forward
d860e59 refs/remotes/origin/master@{11}: update by push
6342dbb refs/remotes/origin/master@{12}: fetch: fast-forward
...
ここで、私の最新のプッシュがorigin/master
から6e9558c
に進んだことがわかります2958d6c
。コミットを確認するには、を使用できますgit log 6e9558c..2958d6c
。例えば、
$ git log --abbrev-commit --pretty=oneline 6e9558c..2958d6c
2958d6c Commit Summary 4
5cbe548 Commit Summary 3
13d007c Commit Summary 2
4f19ac3 Commit Summary 1
リモートリポジトリへのターミナルアクセスがある場合は、その側で同様のことを実行して、受信したすべてのプッシュを確認できます。
于 2010-02-17T18:52:44.267 に答える
3
Gitは、どのコミットがどの「プッシュ」操作の一部であったかを追跡しません。リポジトリに特定のコミットシーケンスが含まれているか、含まれていないかのいずれかです。3つのコミットのグループが1つのプッシュの一部であったか、各コミットが別々のプッシュで実行されたかにかかわらず、コミットがどのようにそこに到達したかはGitにとって重要ではありません。
于 2010-02-17T17:41:28.543 に答える