如何查看我所作的任何還沒有推送到遠程存儲庫的本地提交? 偶爾, git status
會打印出個人分支是X提交在origin/master
,但並不是老是如此。 python
這是我安裝Git的錯誤,仍是我錯過了什麼? git
有一個名爲unpushed的工具能夠掃描指定工做目錄中的全部Git,Mercurial和Subversion存儲庫,並顯示ucommited文件列表和未提交的提交。 在Linux下安裝很簡單: github
$ easy_install --user unpushed
要麼 bash
$ sudo easy_install unpushed
安裝系統範圍。 ide
用法也很簡單: 工具
$ unpushed ~/workspace * /home/nailgun/workspace/unpushed uncommitted (Git) * /home/nailgun/workspace/unpushed:master unpushed (Git) * /home/nailgun/workspace/python:new-syntax unpushed (Git)
有關更多信息,請參閱unpushed --help
或官方說明 。 它還有一個cronjob腳本unpushed-notify
用於屏幕上未通知和未刷新的更改通知。 spa
我使用如下別名來獲取已提交但還沒有推送的文件列表(以及狀態)(對於當前分支) code
git config --global alias.unpushed \ "diff origin/$(git name-rev --name-only HEAD)..HEAD --name-status"
而後就是: get
git unpushed
我建議你去看看腳本https://github.com/badele/gitcheck ,我編寫了這個腳本,一次性檢查你全部的git存儲庫,它顯示誰沒有提交,誰沒有推/拉。 it
這是一個樣本結果
git diff origin
假設您的分支設置爲跟蹤原點,那麼應該顯示差別。
git log origin
將爲您提供提交的摘要。
你能夠用git log
作到這一點:
git log origin..
假設origin
是您的上游的名稱,在..
後面留下任何修訂名稱隱含HEAD
,它列出了還沒有推送的新提交。