Saya memiliki server pribadi yang menjalankan git 1.7 Ketika saya
git init
folder itu tidak membuat cabang master. Karena ketika saya melakukannya:
git branch
itu tidak mencantumkan apa pun. Ketika saya melakukannya:
git --bare init
itu menciptakan file. Saat saya mengetik
git branch master
ia mengatakan:
fatal: Not a valid object name: 'master'.
git branch newbranch
Jawaban:
Ini benar, dan perilaku yang diharapkan. Git tidak akan membuat
master
cabang sampai Anda melakukan sesuatu.Non-telanjang
git init
juga akan membuat file yang sama, di.git
direktori tersembunyi di root proyek Anda.Itu lagi perilaku yang benar. Sampai Anda berkomitmen, tidak ada cabang master .
Anda belum mengajukan pertanyaan, tetapi saya akan menjawab pertanyaan yang saya duga Anda maksudkan. Tambahkan satu atau lebih file ke direktori Anda, dan
git add
mereka menyiapkan komit. Kemudiangit commit
untuk membuat komit danmaster
cabang awal Anda .sumber
.git/HEAD
, dan ubahrefs/heads/master
menjadirefs/heads/main
, tetapi tidak ada alasan sama sekali untuk melakukan ini. Cukup ganti nama cabang Anda setelah komit pertama.git checkout -b <branchname>
untuk mengubah HEAD - Anda tidak perlu mengedit file.Git membuat cabang master setelah Anda melakukan komit pertama Anda. Tidak ada yang memiliki cabang untuk jika tidak ada kode di repositori.
sumber
Pertama, ketika Anda membuat "repositori kosong", Anda tidak akan melakukan pekerjaan apa pun dengannya (itu tidak mengandung copy pekerjaan, jadi
git branch
perintahnya tidak berguna).Sekarang, alasan Anda tidak akan memiliki
master
cabang bahkan setelah melakukangit init
adalah karena tidak ada komitmen: ketika Anda membuat komit pertama Anda, Anda kemudian akan memilikimaster
cabang.sumber
git clone
untuk menyimpan harus melakukangit init
di sisi penerima.git checkout
jika Anda ingin WC untuk mencerminkan apa yang ada di.git
direktori (yang mana Anda mendorong).Anda perlu melakukan setidaknya satu kali pada master sebelum membuat cabang baru.
sumber