簡體   English   中英

Git 找出我推送的最后一個提交

[英]Git find out the last commit i pushed

我想找出我推送的最后一件事,不是我提交的最后一件事,而是推送的。

是否有為此的 git 命令?

上下文:我想在將我的 dev_branch 與 master 分支合並之前壓縮一些提交,但我被告知你不能重新設置已經推送的任何內容(這是真的嗎?)。

所以我想知道我不能包含在這個 rebase 中的最后一次提交是什么。

如果你的意思是你推到master分支的最后一次提交,那么假設你的遙控器是origin

git rev-parse origin/master

這將顯示origin源的master分支的提示的提交ID, 因為您的本地存儲庫當前知道。 這可能意味着提交是其他人的提交,如果其他人在您執行后推送提交,並且您已經fetch該分支。

git show -p origin/master

此命令將為您提供有關提交的信息,包括提交ID,作者,日志消息和對其父提交的差異。


我最喜歡的Git命令之一就是進行這種檢查:

git log --pretty=oneline --abbrev-commit --graph --decorate --all

這將顯示提交歷史記錄的一個很好的ASCII藝術圖表,每個提交將顯示任何針對它的引用。 通過這種方式,您可以一目了然地查看歷史記錄中的分支和合並,並輕松查看origin/master與您自己的master

找到可以壓制的提交的正確命令是:

git rev-parse @{push}

如果您的存儲庫沒有提交,或者您的存儲庫沒有遠程推送到,該命令將出錯。

如果結果等於git rev-parse HEAD (如果您的存儲庫沒有提交,它也會失敗),那么您沒有什么可壓縮的。

您可以通過git log @{push}..HEAD獲取可壓縮(尚未推送)提交的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM