2013-01-03 11 views
6

Powiel możliwe:
git bash : how to check if there’s a new commit availableGet SHA1 z najnowszym zdalnego popełnić

Piszę skrypt gdzie chciałbym porównać ostatni lokalny zobowiązują się najpóźniej przed popełnić w celu powiedz użytkownikowi, że są zatwierdzenia do wyciągnięcia.

Ostatnie lokalne potwierdzenie SHA jest wyświetlane z git log | head -n 1 | awk '{print $2}'.

Czy istnieje odpowiednik do wydrukowania SHA1 ostatniego zatwierdzenia typu upstream?

+0

'git rev-składniowy HEAD' ==' git dziennika | głowa -n 1 | awk '{print $ 2}' '' – miku

+0

za sprawdzenie nowych zatwierdzeń w pilotach Używam tego [git-prompt] (https://github.com/juanpabloaj/git-prompt), to [linie wykonują zadanie] (https://github.com/juanpabloaj/git-prompt/blob/master/git-prompt.sh#L522-550) – JuanPablo

Odpowiedz

14

głowa lokalny:

$ git rev-parse HEAD 

Zdalna głowica:

$ git ls-remote <url> <refs> 

Wyświetla referencje dostępne w zdalnym repozytorium wraz z przynależnymi popełniają identyfikatorów.

Przykład:

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

Można użyć diff porównać wyjście dwa:

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

Interesujące, że strona man 'ls-remote' dosłownie mówi" identyfikatory commitów "- nazywane są SHA w konwencjonalnej terminologii git. Musi to być jakiś artefakt od samego początku;) –

+0

+1 dla prostoty ...: -> – mrutyunjay

Powiązane problemy