Podobnie jak w przypadku błędów scalania lub błędów w bazie. Czy ma unikalny kod błędu?Czy git zwraca określone kody błędów powrotu?
Odpowiedz
Konfiguruję test, aby się nie udało. To jest to, co mam:
$ 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 zwraca 0
gdy łączy się poprawnie, zgodnie z oczekiwaniami.
W skrócie, nie. Zobaczysz kod wyjścia 1 dla błędów i 0 dla sukcesu.
Z szybkiego podręcznego źródła, niektóre są oczekiwane 127 i 128 dla ich konkretnych celów (polecenie nie znaleziono, błędy już zgłoszono), a kilka nietypowych kodów w kilku miejscach, ale dla przebiegu błędy młyna, wszystko to exit(1)
.
Tak, widziałem także 127 i 128. W każdym razie, dziękuję. – poymode
Jest to wyjątkowo denerwujące przy debugowaniu haków zatwierdzania. Jaki jest sens posiadania kodu wyjścia w haku git, jeśli nieudane zatwierdzenie będzie zawsze zwracało 1 zamiast kodu wyjścia haka. –
Błąd 128, bez komunikatu o błędzie z git, może być złapaniem dla "nieoczekiwanego problemu".
Otrzymałem to na operacje, które wymagały modyfikacji plików w .git (np. "git checkout -- myfile
", aby przywrócić zmodyfikowany plik) przez innego użytkownika. (W moim przypadku "chmod -R og+w .git
" naprawiono to, oczywiście, nie rób tego, chyba że rozumiesz konsekwencje bezpieczeństwa dla twojego przypadku!)
Uruchamianie git status
w repozytorium innym niż git zwraca 128, a nie 1, co jest pomocne w szybkie ustalenie, czy repozytorium git istnieje, czy nie.
- 1. Kody błędów powrotu Jsch nie są spójne.
- 2. REST kody błędów powrotu funkcji API
- 3. Kody błędów Androida MediaPlayer?
- 4. MediaRecorder start kody błędów
- 5. WKWebView haczyk HTTP kody błędów
- 6. Kody błędów uwierzytelniania Firebase 9.0.2
- 7. Przekłada kody błędów COM w języku C#
- 8. kody błędów doładowania czytelny dla człowieka opis
- 9. Uzyskaj kody błędów podczas korzystania z psql
- 10. Jak interpretować kody błędów z rozszerzeń FrontPage?
- 11. t-sql Powrót Kody błędów vs RaiseError
- 12. ElasticSearch NEST zwraca określone pola
- 13. jak scalić określone pliki w git
- 14. Xcode błędów z git?
- 15. Czy mogę przechwytywać kody błędów podczas korzystania z funkcji Fabric do uruchamiania() w zdalnej powłoce?
- 16. Sprawdź, czy określone zatwierdzenie istnieje w oddziale git
- 17. php zwraca 500 błędów, ale brak rejestru błędów
- 18. Kody NSError: URL Ładowanie błędów systemowych oznaczających utratę sieci
- 19. Jak scalać określone pliki z gałęzi Git
- 20. Git submoduły - wykluczyć określone pliki/katalogi
- 21. Czy istnieje standard dla kodów błędów/błędów?
- 22. Czy możliwe jest bardziej ukierunkowane wyjście z błędów git bisect?
- 23. Bash proces zastępowania i wyjścia kody
- 24. Czy ktoś zna kody wyjścia dla tfsbuild.exe?
- 25. Jak zwrócić określone kody stanu http z metody zdalnej w pętli zwrotnej?
- 26. Czy mogę określić, czy terminal interpretuje kody kontrolne C1?
- 27. BCP nie zwraca błędów, ale także nie kopiuje żadnych wierszy.
- 28. kody pobierania i strzałek
- 29. TimeZoneInfo i kraj kody
- 30. git update-index --assume-unchanged zwraca błąd
Problem polega na tym, że tylko dokumenty dla 'git merge' (w wersji 1.7.4 - http://www.kernel.org/pub/software/scm/git/docs/v1.7.4/git-merge.html) wzmianka o statusie powrotu w jednym miejscu (jeśli używasz opcji "--ff-only" i nie może wykonać zatwierdzenia szybkiego przewinięcia, zwraca wartość niezerową - nie określa jednoznacznie, co jest zwracane, jeśli wszystko działa lub jeśli wystąpił konflikt scalania: –
@Matt: Polecenia Git są bardzo, bardzo dobre, jeśli chodzi o zwracanie zera dla powodzenia i niezerowe (ogólnie 1) w przeciwnym wypadku Zawsze można połączyć łańcuchy poleceń razem bezpiecznie za pomocą '&&';, w ten sposób implementowane są ich testy. – Cascabel
Git nie nadaje się do zwracania spójnych i sensownych kodów wyjścia, na przykład wykonanie polecenia git bez żadnych zmian spowoduje wyjście z kodem 1, ale heck, to jest * nie * błąd – pfalcon