Apabila memperkenalkan cawangan dalam buku "Pro git", konsep cawangan hulu disebut.
Menyemak cawangan tempatan dari cawangan penjejakan jauh secara automatik akan mencipta cawangan yang dipanggil "cawangan penjejakan" (kadangkala juga dipanggil "cawangan hulu")
Dari sini, kita dapat melihat bahawa cawangan hulu yang disebut di sini merujuk kepada cawangan lokal yang didaftar keluar dari cawangan terpencil.
Namun, apabila "pintasan hulu" disebut kemudian dalam buku ini, cawangan hulu ini tidak merujuk kepada cawangan lokal:
jika anda sukaSelepas menyediakan cawangan penjejakan, anda boleh merujuknya melalui pintasan @{upstream} atau @{u}. Jadi apabila anda berada di cawangan induk dan ia menjejaki origin/master, anda boleh menggunakan git merge @{u} dan bukannya git merge origin/master
Apabila kami menggunakan git dan menolak ke gudang jauh, kami sering menghadapi konsep cawangan huluan Contohnya, apabila anda menolak ke alat kawalan jauh untuk kali pertama, anda tidak menambah sebarang parameter:
git push
Kemudian git akan segera menggesa anda untuk menyediakan cawangan huluan:
fatal: Induk cawangan semasa tidak mempunyai cawangan huluan yang sepadan.
Untuk menolak cawangan semasa dan mewujudkan penjejakan dengan hulu jauh, gunakan
git push --set-upstream origin master
Cawangan hulu di sini nampaknya juga merujuk kepada cawangan remote.
Maka timbul persoalan, apakah sebenarnya "cabang hulu" itu? Buku "Pro git" tidak memberikan konsep yang tepat; dan juga dikatakan di Internet bahawa cabang hulu hanyalah konsep relatif.
Secara ringkasnya, hulu ialah cawangan terpencil yang sepadan dengan cawangan tempatan anda Jika anda tidak menyatakan cawangan terpencil semasa menolak tarik atau ambil, cawangan hulu akan digunakan.
Helo, pertama sekali, saya tidak membaca mana-mana buku Git, tetapi saya berani mengatakan bahawa saya sangat mahir dalam operasi Git, yang telah saya pelajari melalui latihan jangka panjang. Mungkin saya boleh memahami kekeliruan anda!
Pertama sekali, otak tidak boleh kekal pada SVN sebelum ini, iaitu konsep gudang pusat! Pertama sekali, tiada repositori pusat dalam Git, jadi persoalan timbul, bahagian manakah kod tempatan anda harus diserahkan kepada kod jauh?
git branch --set-upstream branch
Cawangan ini adalah cawangan terpencil Tetapkan cawangan sedia ada untuk mengesan cawangan terpencil. Selepas anda menyediakan cawangan penjejakan jauh, anda boleh menaip arahan secara normal dan ringkas: git pull; git psuh; git Anda akan digesa segera untuk menyediakan cawangan huluan:Kemudian anda perlu git push origin master secara lalai, cawangan jauh semasa ialah cawangan utama
Mengikut penggunaan biasa, cawangan hulu merujuk kepada cawangan perpustakaan jauh ini boleh menjadi akaun dalam github, atau ia boleh menjadi direktori pada pelayan tertentu (termasuk set-upstream adalah kepada The current). cawangan disambungkan ke cawangan di perpustakaan lain, supaya satu set kod boleh diubah suai bersama dan bukannya melakukannya sendiri