Seperti kesalahan penggabungan, atau kesalahan basis ulang. Apakah ini memiliki kode kesalahan unik?
87
Saya menyiapkan tes untuk gagal. Inilah yang saya dapatkan:
$ 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 kembali 0
jika digabungkan dengan benar, seperti yang diharapkan.
git merge
(di 1.7.4 - kernel.org/pub/software/scm/git/docs/v1.7.4/git-merge.html ) hanya menyebutkan status pengembalian di satu tempat (jika Anda menggunakan "- -ff-only "dan tidak dapat melakukan komit maju-cepat, ia mengembalikan bukan nol - tidak secara eksplisit mengatakan apa yang dikembalikan jika semuanya berfungsi atau jika ada konflik penggabungan.&&
; begitulah cara pengujian mereka diterapkan.git rebase
perilaku yang sama?Singkatnya, tidak. Anda akan melihat kode keluar 1 untuk kesalahan, dan 0 untuk sukses.
Dari pemahaman cepat sumber, ada beberapa dari 127 dan 128 yang diharapkan untuk tujuan spesifik mereka (perintah tidak ditemukan, kesalahan sudah dilaporkan), dan beberapa kode yang tidak biasa di beberapa tempat, tetapi untuk kesalahan run of the mill, itu semua
exit(1)
.sumber
man
halaman mereka untuk detailnya.Berjalan
git status
pada repo non-git menghasilkan 128, bukan 1, yang berguna dalam menentukan dengan cepat apakah repo git ada atau tidak.sumber
git push --delete origin a_remote_tag_name
Ini mengembalikan 256 jika tag tidak ada menggunakan versi git
1.8.3.1
Alangkah baiknya jika memiliki daftar gabungan kode pengembalian spesifik yang dikembalikan oleh setiap perintah dan apa yang ditunjukkannya. Ini juga dapat membantu mencegah perubahan arti kode yang dikembalikan (yang mungkin bergantung pada skrip otomatisasi).
sumber
Kesalahan 128, tanpa pesan kesalahan dari git, bisa menjadi penampung-semua untuk "masalah tak terduga".
Saya mendapatkan ini pada operasi yang diperlukan untuk mengubah file di bawah .git (misalnya "
git checkout -- myfile
" untuk mengembalikan file yang dimodifikasi) oleh pengguna lain. (Dalam kasus saya "chmod -R og+w .git
" memperbaikinya; tentu saja, jangan lakukan itu kecuali Anda memahami implikasi keamanan untuk kasus Anda!)sumber
Git 2.24 (Q4 2019) does illustrate how
git
commands return code.Lihat komit 50094ca , komit c1a6f21 , komit 854b5cb , komit dd2b6b6 , komit 6bd26f5 , komit c6ec6da , komit f2e2fa8 , komit 460609c , komit 92014b6 , komit 0ab74e9 , komit cb46c40 , komit b562a54 (27 Agustus 2019), dan melakukan fe49814 (20 Agustus 2019) oleh Denton Liu (
Denton-L
) .(Digabung oleh Junio C Hamano -
gitster
- di commit 1c6fc94 , 30 Sep 2019)Jadi daripada menulis:
Tipe:
sumber