2013-01-03 14 views
6

Eventuali duplicati:
git bash : how to check if there’s a new commit availableGet SHA1 dell'ultimo commettere remoto

Sto scrivendo una sceneggiatura in cui mi piacerebbe confrontare l'ultimo locali si impegnano a l'ultimo monte impegnarsi al fine di dì all'utente che ci sono dei commit da tirare.

L'ultimo SHA di commit locale viene visualizzato con git log | head -n 1 | awk '{print $2}'.

Esiste un equivalente per la stampa dello SHA1 dell'ultimo commit upstream?

+0

'git rev-parse HEAD' ==' git log | testa -n 1 | awk '{print $ 2}' ' – miku

+0

per controllare nuovi commit nei telecomandi Io uso questo [git-prompt] (https://github.com/juanpabloaj/git-prompt), questo [linee fanno il lavoro] (https://github.com/juanpabloaj/git-prompt/blob/master/git-prompt.sh#L522-550) – JuanPablo

risposta

14

testa locale:

$ git rev-parse HEAD 

testa a distanza:

$ git ls-remote <url> <refs> 

riguarda i parametri disponibili in un repository remoto insieme con gli ID commit associate.

Esempio:

$ cd ~/github/scrapy/scrapy 
$ git rev-parse HEAD 
9f003a73daec59a73c23a2214b1b8d15a4391a2f 
$ git ls-remote git://github.com/scrapy/scrapy.git HEAD 
9f003a73daec59a73c23a2214b1b8d15a4391a2f 

È possibile utilizzare diff per confrontare l'uscita dei due:

$ diff <(git ls-remote git://github.com/scrapy/scrapy.git HEAD) \ 
     <(git rev-parse HEAD) 
+0

Interessante che la pagina man di 'ls-remote' dice letteralmente" commit IDs "- si chiamano SHA nella terminologia git convenzionale. Deve essere un artefatto dai primi giorni;) –

+0

+1 per semplicità ...: -> – mrutyunjay