Git

Git Show Cabang Jauh

Git Show Cabang Jauh
Keupayaan Git untuk membuat cawangan dengan mudah adalah ciri hebat. Walau bagaimanapun, ketika berurusan dengan cawangan tempatan dan terpencil, ia boleh menjadi sedikit rumit. Mari kita atur situasi di mana kita akan membuat repositori Git kita sendiri yang akan berkelakuan seperti repo jauh. Kemudian kami akan membuat dan memberikan cawangan ke repositori jauh kami dari project_source. Selepas itu, kita akan mengklon repositori jauh dan bermain dengan cawangan. Latihan ini juga harus memberi anda idea bagaimana repositori terpencil seperti GitHub dan BitBucket berfungsi. Anda boleh membayangkannya seperti berikut:

Mari mulakan dengan repositori Git. Kami akan membuat folder bernama projek.git dan mulakan untuk menjadi repositori jauh:

projek $ mkdir.git
projek $ cd.git /
$ git init - telanjang
Repositori Git kosong yang dimulakan di / Users / zakh_eecs / _work / LearnGIT / git_remote_repository /
projek.git /

Sekarang pergi ke lokasi baru di mana anda boleh membuat folder bersih. Buat folder project_source dan mulakan untuk Git:

$ mkdir projek_sumber
 
$ cd projek_sumber
 
$ git init
Repositori Git kosong yang dimulakan di / Users / zakh_eecs / _work / LearnGIT / git_branching_source /
projek_sumber /.git /
 
$ sentuh ReadMe.txt
 
$ git tambah -A
 
$ git commit -m "Komitmen Awal"
[master (root-komit] 176134f] Komitmen Awal
1 fail diubah, 0 sisipan (+), 0 penghapusan (-)
buat mod 100644 ReadMe.txt

Project_setup adalah direktori Git dengan ReadMe.fail txt. Walau bagaimanapun, ia tidak disambungkan ke repositori jauh kami. Mari siapkan projek.git menjadi repositori terpencil untuk project_source. Kami dapat mencapainya melalui arahan berikut:

$ git asal tambah asal / Pengguna / zakh_eecs / _work / LearnGIT / git_remote_repository / projek.git
 
$ git push origin master
Membilang objek: 3, selesai.
Objek penulisan: 100% (3/3), 213 bait | 0 bait, selesai.
Jumlah 3 (delta 0), digunakan semula 0 (delta 0)
Kepada / Pengguna / zakh_eecs / _work / LearnGIT / git_remote_repository / projek.git
* [cawangan baru] tuan -> tuan

Dengan arahan git remote add origin, kami telah membuat hubungan antara projek.git dan projek_sumber. Dengan arahan master asal git push, kami telah mendorong cawangan induk kami ke repositori jauh.

Mari periksa cawangan kami (masih dalam folder project_source):

cawangan $ git
* tuan
 
cawangan $ git -r
asal / tuan
 
cawangan $ git -a
* tuan
remote / asal / tuan

Perintah pertama hanya menunjukkan cawangan tempatan. Pilihan -r menunjukkan cawangan jauh. Dan pilihan -a menunjukkan tempatan dan jauh.

Mari buat beberapa cawangan di direktori kerja kami:

pengembangan cawangan $ git
 
pembaikan panas cawangan $ git
 
eksperimen cawangan $ git
 
cawangan $ git -a
pembangunan
percubaan
pembaikan panas
* tuan
remote / asal / tuan

Kami telah membuat cawangan yang dipanggil pembangunan, perbaikan terbaru dan eksperimental. Mereka muncul dalam senarai cawangan tempatan kami. Tetapi dalam remote / asal, hanya ada cabang induk kerana satu-satunya yang kita tolak. Tuan bintang (*) bermaksud kita masih berada di cawangan induk tempatan. Mari masuk ke cabang pengembangan, lakukan perubahan dan dorong perubahan tersebut ke repositori jauh.

pengembangan $ git checkout
Beralih ke 'pembangunan' cawangan
 
$ echo abc> ReadMe.txt
 
$ git tambah -A
 
$ git commit -m "Cabang pembangunan yang diubah suai"
[development dd9933e] Cabang pembangunan yang diubah suai
1 fail diubah, 1 sisipan (+)
 
pembangunan asal $ git push
Membilang objek: 3, selesai.
Objek penulisan: 100% (3/3), 257 bait | 0 bait, selesai.
Jumlah 3 (delta 0), digunakan semula 0 (delta 0)
Kepada / Pengguna / zakh_eecs / _work / LearnGIT / git_remote_repository / projek.git
* pembangunan [cabang baru] -> pembangunan

Mari periksa semua cawangan sekarang:

cawangan $ git -a
* pembangunan
percubaan
pembaikan panas
tuan
jarak jauh / asal / pengembangan
remote / asal / tuan

Kami melihat bahawa kami berada di cabang pembangunan tempatan, tetapi ada juga cabang pembangunan terpencil. Ketika kami mendorong perubahan kami dengan pengembangan asal git push, ia menciptakan cabang pengembangan dalam jarak jauh / asal.

Mari keluar dari project_source dan cari tempat baru di mana kita boleh mempunyai folder baru. Di sini kita akan mengklon repositori jauh dengan arahan berikut:

$ git clone / Pengguna / zakh_eecs / _work / LearnGIT / git_remote_repository / projek.git
Pengklonan ke dalam 'projek' ..
selesai.

Kami telah mengklon salinan baru yang disebut projek dari projek.git. Masuk ke folder projek dan periksa cawangannya:

projek $ cd
 
cawangan $ git
* tuan

Apabila Git membuat klon awal dari repositori jauh, ia hanya mendapat cabang induk. Sekiranya kita menggunakan pilihan -a, kita melihat:

cawangan $ git -a
* tuan
remote / origin / HEAD -> asal / tuan
jarak jauh / asal / pengembangan
remote / asal / tuan

Perhatikan tidak ada cabang pembangunan tempatan. Juga, kami tidak pernah mendorong perbaikan terbaru dan cabang eksperimen dari project_source ke projek.git, jadi kita tidak melihatnya. Repositori jauh mempunyai cabang induk dan pengembangan (remote / origin / HEAD -> origin / master bukan cabang, ini hanya memberitahu anda di mana HEAD menunjuk).

Mari masukkan cabang pembangunan ke dalam persekitaran kerja kita:

$ git fetch --semua
Mengambil asal
 
pengembangan $ git checkout
Pembangunan cabang ditubuhkan untuk mengesan pengembangan cabang terpencil dari asal.
Beralih ke 'pengembangan' cawangan baru

Sekiranya anda menggunakan Git versi lama, anda mungkin perlu menggunakan:

$ git checkout asal / pengembangan

Sekarang jika kita menggunakan perintah cabang, kita mendapat:

cawangan $ git -a
* pembangunan
tuan
remote / origin / HEAD -> asal / tuan
jarak jauh / asal / pengembangan
remote / asal / tuan

Kita dapat membuat perubahan pada cabang pengembangan, melakukan perubahan dan kemudian mendorongnya menggunakan perintah pengembangan asal git push.

Kesimpulannya

Semasa bekerja dengan GitHub dan BitBucket, anda mungkin menggunakan pautan HTTPS atau SSH untuk menyambung ke repositori jauh anda. Oleh itu, anda akan menetapkan asal anda ke pautan tersebut. Tetapi prinsip cabang terpencil adalah sama seperti yang dijelaskan di sini.

Sambung belajar:

Butang tetikus tengah tidak berfungsi pada Windows 10
The butang tetikus tengah membantu anda menelusuri halaman web dan skrin yang panjang dengan banyak data. Sekiranya ia berhenti, anda akan menggunakan...
Cara menukar butang tetikus Kiri & Kanan pada PC Windows 10
Sudah menjadi kebiasaan bahawa semua peranti tetikus komputer dirancang secara ergonomik untuk pengguna tangan kanan. Tetapi ada peranti tetikus yang ...
Tiru klik Tetikus dengan melayang menggunakan Mouse Tanpa Klik di Windows 10
Menggunakan tetikus atau papan kekunci dalam keadaan salah penggunaan berlebihan boleh menyebabkan banyak masalah kesihatan, termasuk ketegangan, sind...