Git

Git Tampilkan Cabang Jarak Jauh

Git Tampilkan Cabang Jarak Jauh
Kemampuan Git untuk membuat cabang dengan mudah adalah fitur yang hebat. Namun, ketika berhadapan dengan cabang lokal dan jarak jauh, itu bisa menjadi sedikit rumit. Mari kita siapkan situasi di mana kita akan membuat repositori Git kita sendiri yang akan berperilaku seperti repo jarak jauh. Kemudian kita akan membuat dan mengkomit cabang ke repositori jarak jauh dari project_source. Setelah itu, kita akan mengkloning repositori jarak jauh dan bermain dengan cabang. Latihan ini juga akan memberi Anda gambaran tentang cara kerja repositori jarak jauh seperti GitHub dan BitBucket. Anda dapat memvisualisasikannya sebagai berikut:

Mari kita mulai dengan repositori Git. Kami akan membuat folder bernama proyek.git dan inisialisasi untuk menjadi repositori jarak jauh:

$ mkdir proyek.git
proyek $cd.git/
$ git init --bare
Repositori Git kosong yang diinisialisasi di /Users/zakh_eecs/_work/LearnGIT/git_remote_repository/
proyek.git/

Sekarang pergi ke lokasi baru di mana Anda dapat membuat folder bersih. Buat folder project_source dan inisialisasi untuk Git:

$ mkdir project_source
 
$cd project_source
 
$ git init
Repositori Git kosong yang diinisialisasi di /Users/zakh_eecs/_work/LearnGIT/git_branching_source/
sumber_proyek/.git/
 
$ sentuh ReadMe.txt
 
$ git tambahkan -A
 
$ git commit -m "Komit Awal"
[master (root-commit) 176134f] Komitmen Awal
1 file diubah, 0 penyisipan (+), 0 penghapusan (-)
buat mode 100644 ReadMe.txt

project_setup adalah direktori Git dengan ReadMe.file txt. Namun, itu tidak terhubung ke repositori jarak jauh kami. Ayo siapkan proyek.git menjadi repositori jarak jauh untuk project_source. Kita dapat mencapai ini melalui perintah berikut:

$ git remote tambahkan Origin /Users/zakh_eecs/_work/LearnGIT/git_remote_repository/project.git
 
$ git push asal master origin
Menghitung benda: 3, selesai.
Objek penulisan: 100% (3/3), 213 byte | 0 byte/dtk, selesai.
Total 3 (delta 0), digunakan kembali 0 (delta 0)
Ke /Users/zakh_eecs/_work/LearnGIT/git_remote_repository/project.git
* [cabang baru]      master -> master

Dengan perintah git remote add Origin, kami telah membuat koneksi antar proyek.git dan project_source. Dengan perintah master git Push Origin, kami telah mendorong cabang master kami ke repositori jarak jauh.

Mari kita periksa cabang kita (masih di folder project_source):

$git cabang
* tuan
 
$ git cabang -r
asal/master
 
$ git cabang -a
* tuan
remote/asal/master

Perintah pertama hanya menampilkan cabang lokal. Opsi -r menunjukkan cabang jarak jauh. Dan opsi -a menunjukkan lokal dan jarak jauh.

Mari kita buat beberapa cabang di direktori kerja kita:

$ git pengembangan cabang
 
$ git perbaikan terbaru cabang
 
$ git cabang eksperimental
 
$ git cabang -a
pengembangan
eksperimental
perbaikan terbaru
* tuan
remote/asal/master

Kami telah membuat cabang yang disebut pengembangan, perbaikan terbaru, dan eksperimental. Mereka muncul di daftar cabang lokal kami. Tapi di remote/asal, hanya ada cabang master karena hanya itu yang kami dorong. Master bintang(*) berarti kita masih berada di cabang master lokal. Mari masuk ke cabang pengembangan, komit perubahan dan dorong perubahan itu ke repositori jarak jauh.

$ git pengembangan checkout
Beralih ke 'pengembangan' cabang
 
$ echo abc > ReadMe.txt
 
$ git tambahkan -A
 
$ git commit -m "Cabang pengembangan yang dimodifikasi"
[pengembangan dd9933e] Cabang pengembangan yang dimodifikasi
1 file diubah, 1 penyisipan (+)
 
$ git push pengembangan asal
Menghitung benda: 3, selesai.
Objek penulisan: 100% (3/3), 257 byte | 0 byte/dtk, selesai.
Total 3 (delta 0), digunakan kembali 0 (delta 0)
Ke /Users/zakh_eecs/_work/LearnGIT/git_remote_repository/project.git
* [cabang baru]      pengembangan -> pengembangan

Mari kita periksa semua cabang sekarang:

$ git cabang -a
* pengembangan
eksperimental
perbaikan terbaru
menguasai
remote/asal/pengembangan
remote/asal/master

Kami melihat bahwa kami berada di cabang pengembangan lokal, tetapi ada juga cabang pengembangan jarak jauh. Ketika kami mendorong perubahan kami dengan pengembangan git Push Origin, itu menciptakan cabang pengembangan di remote/asal.

Sekarang mari keluar dari project_source dan temukan tempat baru di mana kita dapat memiliki folder baru. Di sini kita akan mengkloning repositori jarak jauh dengan perintah berikut:

$ git clone /Users/zakh_eecs/_work/LearnGIT/git_remote_repository/project.git
Mengkloning ke 'proyek'…
selesai.

Kami telah mengkloning salinan baru yang disebut proyek dari proyek.git. Masuk ke folder proyek dan periksa cabang:

proyek $cd
 
$git cabang
* tuan

Ketika Git membuat klon awal dari repositori jarak jauh, Git hanya mendapatkan cabang master. Jika kita menggunakan opsi -a, kita melihat:

$ git cabang -a
* tuan
remote/asal/HEAD -> asal/master
remote/asal/pengembangan
remote/asal/master

Perhatikan tidak ada cabang pengembangan lokal. Juga, kami tidak pernah mendorong hotfix dan cabang eksperimental dari project_source ke project.git, jadi kami tidak melihatnya. Repositori jarak jauh memiliki cabang master dan pengembangan (remote/Origin/HEAD -> Origin/master bukan cabang, itu hanya memberi tahu Anda ke mana HEAD menunjuk).

Mari kita masukkan cabang pengembangan ke lingkungan kerja kita:

$ git ambil --semua
Mengambil asal
 
$ git pengembangan checkout
Pengembangan cabang diatur untuk melacak pengembangan cabang jarak jauh dari asal.
Beralih ke 'pengembangan' cabang baru

Jika Anda menggunakan Git versi lama, Anda mungkin harus menggunakan:

$ git checkout pengembangan asal/pengembangan

Sekarang jika kita menggunakan perintah cabang, kita mendapatkan:

$ git cabang -a
* pengembangan
menguasai
remote/asal/HEAD -> asal/master
remote/asal/pengembangan
remote/asal/master

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

Kesimpulannya

Saat Anda bekerja dengan GitHub dan BitBucket, Anda mungkin menggunakan tautan HTTPS atau SSH untuk terhubung ke repositori jarak jauh Anda. Jadi Anda akan mengatur Asal Anda ke tautan itu. Tetapi prinsip-prinsip cabang jarak jauh sama seperti yang dijelaskan di sini.

Pelajaran lanjutan:

Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...