Wie das Zusammenführen von Fehlern oder das erneute Basieren von Fehlern. Hat es einen eindeutigen Fehlercode?
86
Ich habe einen Test eingerichtet, der fehlschlägt. Das habe ich bekommen:
$ git merge newbranch
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.
$ echo $?
1
Git kehrt zurück, 0
wenn es wie erwartet korrekt zusammengeführt wird.
git merge
(unter 1.7.4 - kernel.org/pub/software/scm/git/docs/v1.7.4/git-merge.html ) der Rückgabestatus nur an einer Stelle erwähnt wird (wenn Sie "-" verwenden) -ff-only "und es kann kein Fast-Forward-Commit ausgeführt werden. Es gibt einen Wert ungleich Null zurück. Es wird nicht explizit angegeben, was zurückgegeben wird, wenn alles funktioniert oder wenn ein Zusammenführungskonflikt aufgetreten ist.&&
verketten. So werden ihre Tests implementiert.git rebase
das gleiche Verhalten?Kurz gesagt, nein. Sie sehen den Exit-Code 1 für Fehler und 0 für den Erfolg.
Nach einem kurzen Abrufen der Quelle gibt es einige der erwarteten 127 und 128 für ihre spezifischen Zwecke (Befehl nicht gefunden, bereits gemeldete Fehler) und einige ungewöhnliche Codes an einigen Stellen, aber für Run-of-the-Mill-Fehler ist dies der Fall alle
exit(1)
.quelle
man
Seiten für Details.Das Ausführen
git status
auf einem Nicht-Git-Repo gibt 128 statt 1 zurück. Dies ist hilfreich, um schnell festzustellen, ob ein Git-Repo vorhanden ist oder nicht.quelle
Fehler 128 ohne Fehlermeldung von git könnte ein Allheilmittel für "unerwartetes Problem" sein.
Ich habe dies bei Vorgängen erhalten, bei denen Dateien unter .git (z. B. "
git checkout -- myfile
", um eine geänderte Datei zurückzusetzen) von einem anderen Benutzer geändert werden mussten. (In meinem Fall "chmod -R og+w .git
" wurde das Problem behoben. Tun Sie dies natürlich nur, wenn Sie die Sicherheitsauswirkungen für Ihren Fall verstanden haben!)quelle
git push --delete origin a_remote_tag_name
Dies gibt 256 zurück, wenn das Tag mit der Git-Version nicht vorhanden ist
1.8.3.1
Es wäre schön, wenn jeder Befehl eine konsolidierte Liste spezifischer Rückkehrcodes und deren Angabe zurückgeben würde. Dies kann auch dazu beitragen, zu verhindern, dass die Bedeutung des Rückkehrcodes geändert wird (auf die sich Automatisierungsskripte möglicherweise stützen).
quelle
Git 2.24 (Q4 2019) zeigt, wie
git
Befehle Code zurückgeben.Sehen Sie verpflichten 50094ca , begehen c1a6f21 , begehen 854b5cb , begehen dd2b6b6 , begehen 6bd26f5 , begehen c6ec6da , begehen f2e2fa8 , begehen 460609c , begehen 92014b6 , begehen 0ab74e9 , begehen cb46c40 , begehen b562a54 (27. August 2019) und begehen fe49814 (20. August 2019) von Denton Liu (
Denton-L
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit 1c6fc94 , 30. September 2019)Also anstatt zu schreiben:
Art:
quelle