Git menerapkan aturan berikut tentang bagaimana referensi nama:
Mereka dapat menyertakan slash /untuk pengelompokan hierarki (direktori), tetapi tidak ada komponen yang dipisahkan dengan slash yang dapat dimulai dengan titik .atau diakhiri dengan urutan .lock.
Mereka harus mengandung setidaknya satu /. Ini memberlakukan keberadaan kategori seperti heads/, tags/dll. Tetapi nama sebenarnya tidak dibatasi. Jika --allow-onelevelopsi ini digunakan, aturan ini dihapuskan.
Mereka tidak dapat memiliki dua titik berturut-turut di ..mana saja.
Mereka tidak dapat memiliki karakter kontrol ASCII (yaitu byte yang nilainya lebih rendah dari \040, atau \177DEL), ruang, tilde ~, tanda sisipan ^, atau titik dua di :mana saja.
Mereka tidak dapat memiliki tanda tanya ?, tanda bintang *, atau braket terbuka di [mana saja. Lihat --refspec-patternopsi di bawah untuk pengecualian pada aturan ini.
Mereka tidak dapat memulai atau mengakhiri dengan garis miring /atau mengandung banyak garis miring berurutan (lihat --normalizeopsi di bawah untuk pengecualian pada aturan ini)
Layak disebutkan bahwa '>' diizinkan, tetapi untuk beralih ke cabang itu di bash, ia harus melarikan diri dengan '' 'sebelumnya
igniteflow
3
Saya bingung tentang aturan # 2 di halaman manual yang Anda tautkan. Dikatakan "2. Mereka harus mengandung setidaknya satu /." Tolong jelaskan? Tidak ada cabang saya yang memiliki /nama.
chharvey
7
@chharvey: sebuah "cabang" tanpa huruf pr /telah heads/ditambahkan padanya "secara otomatis". Sebenarnya: tanpa a /, belum jelas apakah itu cabang atau tag atau sesuatu yang lain ...
Robert Siemer
1
@DMTintner: Koma diizinkan.
Robert Siemer
3
di sini adalah ekspresi reguler untuk ini /^[\./[|\.\.|@{#[#/\.[$|^@$|[~^:\x00-\x20\x7F\s?* [\\] / g ini akan menemukan karakter yang tidak valid sehingga Anda dapat menggantinya dengan karakter '-' atau apa pun yang Anda inginkan
Jawaban:
Aturan penamaan untuk refname:
Selain itu, aturan tambahan untuk nama cabang:
Berkat Jakub Narębski , halaman manual untuk
git check-ref-format
memiliki lebih banyak detail.sumber
/
." Tolong jelaskan? Tidak ada cabang saya yang memiliki/
nama./
telahheads/
ditambahkan padanya "secara otomatis". Sebenarnya: tanpa a/
, belum jelas apakah itu cabang atau tag atau sesuatu yang lain ...