Aktualizacja: jak mentioned below przez toupeira, można skorzystać z opcji git status--porcelain
(od popełnienia 6f15787, wrzesień 2009, git 1.7.0).
wspomniałem w mojej odpowiedzi „What does the term porcelain mean in Git?”, że:
Być może sens --porcelain
tutaj jest „produkują wyjście nadające się do spożycia przez skrypty porcelany”
jednak, że nie będzie pokaż informacje z wyprzedzeniem/z tyłu:: patrz "What to add to “git status --porcelain” to make it behave like “git status”?": w tym celu potrzebne są jeszcze inne polecenia: patrz "How to know if git repository has changes that have not been synchronized with server?"
odpowiedź Początkowa marca 2009
W poleceniu porcelany, a:
$ git diff HEAD
daje zmian od ostatniego commit (co można byłoby popełnienie jeśli uruchomić "git commit -a") .
Możliwym równoważne poleceniu wodociągowej będzie:
$ git ls-files -m
spisywać wszystkie zmodyfikowane (katalog roboczy lub indeks) Pliki
przypadku tworzenia repozytorium przez klonowanie cudzego repozycyjnego, zdalna gałąź "master" jest kopiowana do lokalnego oddziału o nazwie "origin". Otrzymasz własną gałąź "master", która nie jest powiązana ze zdalnym repozytorium.
Zawsze jest obecna głowa, znana jako HEAD. (Właściwie jest to link symboliczny, .git/HEAD, do pliku jak bibl/głowice/Master).
run "stan git" i analizować dane wyjściowe:
# On branch master
# Your branch is ahead of 'origin/master' by 11 commits.
#
Więcej szczegółów w tak pytanie „Why is Git telling me “Your branch is ahead of ‘origin/master’ by 11 commits.” and how do I get it to stop?”
Możliwa równoważne poleceniu instalacyjnych:
* git-for-each-ref
dla listę wszystkich zobowiązuje, ale wymaga analizowania danych wyjściowych, jak również ...
Ponownie, git ls-files could be used to produced the same result than a git status.
git ls-files --exclude-per-directory=.gitignore --exclude-from=.git/info/exclude \
--others \
--modified \
-t
To świetnie. Dziękuję bardzo. –
"git ls-files --exclude-standard ..." byłoby nieco prostsze. –