我不能完全弄清楚如何通過'推'來查看遠程存儲庫中究竟發生了什麼變化。 'git log'向我顯示了一系列提交,但這些提交發生在我的本地存儲庫中,並在不同的時間被推送;我想知道哪些提交是每個特定「推」操作的一部分git:如何查看推送引起的更改?
回答
其實,你可以從reflog中釣魚這些信息。這不是遠程存儲庫的完整歷史記錄,而是遠程存儲庫分支副本的歷史記錄。因此,您不會看到其他人對遠程存儲庫所做的更改。這不太好,但你可以編寫一個腳本使其更容易。
例如:
$ git reflog show origin/master
ca4f119 refs/remotes/origin/[email protected]{0}: pull --rebase: fast-forward
d303ece refs/remotes/origin/[email protected]{1}: pull --rebase: fast-forward
ce28c26 refs/remotes/origin/[email protected]{2}: pull --rebase: fast-forward
0f71883 refs/remotes/origin/[email protected]{3}: pull --rebase: fast-forward
8c2f0dd refs/remotes/origin/[email protected]{4}: pull --rebase: fast forward
2958d6c refs/remotes/origin/[email protected]{5}: update by push
6e9558c refs/remotes/origin/[email protected]{6}: pull --rebase: fast-forward
8854b35 refs/remotes/origin/[email protected]{7}: pull --rebase: fast-forward
b96f25d refs/remotes/origin/[email protected]{8}: pull --rebase: fast-forward
efb0ab8 refs/remotes/origin/[email protected]{9}: pull --rebase: fast-forward
71c12ca refs/remotes/origin/[email protected]{10}: pull --rebase: fast-forward
d860e59 refs/remotes/origin/[email protected]{11}: update by push
6342dbb refs/remotes/origin/[email protected]{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
如果你有到遠程倉庫終端接入,你可以做爲此類似的東西,看看所有收到的推動的。
Git不會跟蹤哪些提交是「推」操作的一部分;存儲庫中包含一定的提交順序,否則不提供。對Git來說,提交是如何實現的並不重要,一組三次提交是否是一次推送的一部分,或者每次都是單獨完成的。
這實際上並不正確 - reflog會記住每個分支提示的所有更改。推送多次提交將顯示爲reflog中的單個更改。請參閱下面的答案。 –
確實如此,但reflog實際上並不是存儲庫的一部分。尤其是,如果沒有直接的資源庫訪問權限(例如,您無法在Github上查看資源庫的引用日誌),則無法查看遠程reflog。 –
確實,但Github通過他們的API公開了類似的東西:https://objectpartners.com/2014/02/11/recovering-a-commit-from-githubs-reflog/ –
- 1. git:如何查看更改,下一次推送將發送
- 2. 將更改推送到git
- 3. 如何查看git索引中的更改?
- 4. 如何查看由提交引起的更改?
- 5. git review無法推送我的更改
- 6. 更改推送提交的git註釋
- 7. 查看本地提交git更改/差異沒有推送到遠程
- 8. 推送Git文件名更改案例
- 9. Git 1.9遠程推送-u更改
- 10. 無法將更改推送到git openshift
- 11. 從git結賬推送更改
- 12. 不能更改推送到倉庫(GIT)
- 13. 從父目錄推送git更改?
- 14. 如何更改推送的git commit的名稱?
- 15. 如何暫時更改遠程推送的git ssh用戶?
- 16. 如何接受git遠程存儲庫上推送的更改?
- 17. 如何使用Git命令行推送更改?
- 18. 如何在GIT推送期間忽略遠程更改?
- 19. 如何在嘗試從Git推送時更改GitHub帳戶?
- 20. 如何使用git將更改推送到生產服務器?
- 21. 如何防止git將更改推送到某些文件
- 22. Git:如何在推送之前查看文件的更改 - 不是差異,最終版本
- 23. Git推送和結賬更改權限後更改不顯示
- 24. 如何查看observableArray更改
- 25. Git如何查看功能的更改歷史記錄/刪除?
- 26. 如何查看Git中分支上更改的所有文件
- 27. 如何查看Git將要推送到Xcode中的服務器的文件?
- 28. MySQL推送更改
- 29. 推送通知查看iPhone
- 30. Git - 查看已更改的文件,即使已刪除更改
是否有可能獲得日誌與時間戳? – user
'git reflog --date = iso'信用:https://stackoverflow.com/a/17369548/2234009 –