GNU/Linux >> Belajar Linux >  >> Linux

Cara Kontrol Versi dengan Git di baris perintah

Git adalah salah satu perangkat lunak kontrol versi terdistribusi yang paling banyak digunakan di Linux di antara para pengembang untuk memfasilitasi koordinasi pada proyek yang sama.

Jika tidak terbiasa dengan Git, disarankan untuk membaca panduan pengantar tentang menginstal dan memulai Git ini. Sejauh ini, hanya fungsi dasar yang telah ditampilkan. Ini termasuk persiapan ruang kerja dan pembuatan berbagai repositori, melalui "tahap" dan "komit" perubahan file, serta kemungkinan penghapusan atau penggantian nama file.

Langkah selanjutnya adalah untuk memahami cara berpindah di berbagai versi proyek. Seperti yang disarankan oleh sifat perangkat lunak, pada kenyataannya, kemungkinan untuk membuat repositori baru dan tak terbatas, mulai dari pekerjaan yang sudah ada sebelumnya, pasti akan menciptakan rantai jalur yang berbeda, semuanya berasal dari proyek yang sama.

Tujuan dari panduan ini adalah untuk menjelaskan, oleh karena itu, bagaimana mengelola versi proyek dengan benar, dengan berpindah antar berbagai cabang (branching), sambil menggabungkan cabang yang berbeda dan memulihkan versi sebelumnya. Panduan ini berlaku untuk distribusi Linux utama dan telah diuji pada Ubuntu 18.04.

Menggunakan Cabang Git

Percabangan adalah salah satu fitur Git yang paling kuat. Cabang digunakan untuk mengimplementasikan fungsi yang berbeda dan independen satu sama lain mulai dari akar yang sama. Cabang utama proyek dihasilkan ketika "repositori" dibuat dan diberi label sebagai "master".

Hal pertama yang harus dilakukan untuk mempelajari cara berpindah ke berbagai cabang repositori adalah dengan menggunakan perintah "git checkout", diikuti oleh cabang yang akan dikerjakan:

    $ git checkout <branch>

Misalnya, untuk bergerak dan bekerja di cabang utama, gunakan perintah diikuti oleh "master", seperti yang ditunjukkan di bawah ini:

    $ git checkout master

Setelah cabang untuk membuat repositori Anda ditunjukkan, file akan dibawa ke tahap terakhir dari cabang yang dipilih di folder kerja. Kemudian, setiap perubahan di masa mendatang yang dibuat, akan membuat versi proyek baru untuk cabang tersebut.

Membuat Cabang baru dengan Git

Untuk membuat cabang baru dengan Git, cukup gunakan perintah "git branch" diikuti dengan nama yang akan diberikan ke cabang yang dibuat:

    $ git branch <nome_ramo>

Pindah ke cabang yang baru dibuat tidak otomatis. Jadi untuk mengerjakan resor cabang yang baru dibuat dengan perintah "git checkout":

    $ git checkout <nome_ramo>

Pada titik ini, setiap komit akan merujuk ke cabang yang baru dibuat.

Pada Gambar 1 operasi berikut dilakukan:

  • Pindah ke cabang "master";
  • Pembuatan cabang baru (Test0);
  • Pindah ke cabang yang baru dibuat;
  • Menambahkan file (BranchTest);
  • Komitmen perubahan;
  • Kembali ke cabang "master".

Gbr. 1 - Contoh Pembuatan Branch dan Commit di Ubuntu 18.04

Menemukan dan menghapus Cabang Git

Perintah "git branch" tanpa diikuti apa pun hanya akan merilis daftar semua cabang yang ada.

    $ git branch

Untuk menghapus cabang gunakan perintah "git branch", dalam hal ini diikuti dengan argumen "-d" dan nama cabang yang akan dihapus :

    $ git branch -d <nome_ramo>

Gambar 2 menunjukkan contoh daftar cabang dan penghapusan cabang yang baru dibuat (Test0).

Gambar 2 - Contoh Daftar Cabang dan Eliminasi pada Ubuntu 18.04

Seperti yang ditunjukkan pada gambar, ketika mencoba menghapus cabang tempat perubahan dibuat, Git akan mengembalikan kesalahan. Karena cabang belum bergabung (penggabungan cabang), untuk menghindari kehilangan semua pekerjaan yang dilakukan karena kesalahan, itu akan menghindari penghapusannya.

Masih mungkin untuk menghapus cabang menggunakan argumen "-D":

    $ git branch -D <nome_ramo>

Menggabungkan Cabang Git

Tujuan dari cabang adalah untuk membuat alur kerja paralel dan independen untuk bereksperimen dengan fungsi baru tanpa mempengaruhi proyek utama (misalnya versi "rilis", "beta" atau "perbaikan").
Untuk alasan ini, cabang dirancang untuk berumur pendek, yang berujung pada penggabungan dengan cabang lain.

Cabang dapat digabungkan dengan menggunakan perintah "git merge" diikuti dengan nama cabang yang akan digabungkan.

    $ git merge <ramo_da_unire>

Jelas, merger harus terjadi antara dua cabang. Perintah "git merge" menggabungkan cabang yang ditunjukkan dalam sintaks dengan yang Anda gunakan saat ini. Jadi, untuk melakukan "merge", pastikan, melalui "git checkout", berada di cabang yang ingin Anda gabungkan.
Oleh karena itu, perintah "git merge" yang ditunjukkan tidak akan meninggalkan jejak penggabungan di sejarah "repositori".

Sangat sering mungkin perlu untuk melacak penggabungan sehingga cukup menggunakan argumen "--no-ff" saja. Dengan cara ini, Git akan secara otomatis membuat komit baru untuk mengidentifikasi "penggabungan" di masa mendatang:

    $ git merge --no-ff <ramo_da_unire>

Penggabungan dua cabang tidak berarti penghapusan cabang yang telah digabungkan dengan yang ditunjukkan. Sebaliknya, itu akan terus ada. Untuk menghapusnya secara permanen, lanjutkan dengan penghapusan menggunakan perintah "git branch -d".

Pada Gambar 3 contoh penggabungan antar cabang ditampilkan. Secara khusus, operasi yang dilakukan adalah:

  • Pindah ke cabang "master";
  • Daftar cabang;
  • Gabungkan cabang "Br01";
  • Pembatalan cabang "Br01".

Gbr. 3 - Contoh cabang yang digabungkan pada Ubuntu 18.04

Untuk mendapatkan daftar yang hanya menampilkan cabang yang tidak digabungkan dengan yang sekarang, gunakan perintah "git branch" diikuti dengan argumen "--no-merged".

    $ git branch --no-merged

Resolusi Konflik

Ketika dua cabang digabungkan, Git secara otomatis menentukan komit mana dari dua induk yang terbaik dan bergabung dengannya.
Git mungkin tidak dapat secara otomatis memutuskan versi file mana yang akan dipertahankan selama operasi ini dan oleh karena itu akan memberi tahu a konflik.
Jika situasi ini terjadi, selesaikan konflik secara manual dan lakukan perubahan yang dibuat. Atau, penggabungan cabang tidak akan dilakukan.

Contoh berikut paling baik menunjukkan kejadian ini. Karena mempertimbangkan dua cabang berbeda di mana dua versi berbeda dari file yang sama disimpan, setelah digabungkan, Git akan menampilkan peringatan berikut:

    CONFLICT (content): Merge conflict in <filename>
   
   Automatic merge failed; fix conflicts and then commit the result.

Untuk mengatasi masalah, buka folder tempat file yang bertentangan, ubah dan buat "tambah" berikutnya dengan "komit". Dalam hal file teks, Git akan melaporkan bagian yang menyinggung dalam file dengan menyisipkan bagian yang hanya ada di cabang pertama dan di antara "=" antara "<<<<<<<" dan "=======" ======"dan">>>>>>> "yang hadir hanya di detik.

Dengan memodifikasi file secara manual dan menjalankan perintah "git add" diikuti dengan " git commit", kedua cabang akhirnya akan bergabung, seperti yang ditunjukkan pada gambar 4.

Pada contoh yang ditunjukkan pada gambar 4, cabang yang tidak bergabung juga dikontrol untuk memastikan bahwa "penggabungan" dilakukan dengan benar.

Gbr. 4 - Contoh Resolusi Konflik dan Penggabungan pada Ubuntu 18.04

Memang, setelah komit, cabang "Br03" tidak lagi muncul dalam daftar cabang yang terputus, membuktikan bahwa merger dengan cabang "Br04" telah berhasil.

Manajemen Tag Git

"Tag" tidak lain adalah label untuk dilampirkan ke berbagai "komit" untuk melaporkan informasi yang berguna tentang versi dan proyek yang sedang Anda kerjakan.

Untuk melihat tag di "repositori", gunakan perintah "git tag":

    $ git tag

Ada dua jenis tag yang berbeda di Git:"beranotasi" dan "ringan". Yang pertama digunakan untuk menunjukkan informasi versi lengkap, seperti "checksum", nama pengembang, tanggal / waktu dan komentar apa pun. Yang kedua adalah petunjuk sederhana ke komit.

Perintah "git tag" diikuti dengan teks identifikasi versi akan membuat tag "ringan". Sintaksnya ditunjukkan di bawah ini:

    $ git tag <Nome_Versione>

Menggunakan argumen "-a", sebagai gantinya, mengarah ke versi tag "beranotasi":

    $ git tag -a <Nome_Versione> -m <Commento>

Terakhir, untuk melihat tag, gunakan perintah "git show" seperti yang ditunjukkan di bawah ini:

    $ git show <Nome_Versione>

Perintah yang baru saja diperiksa memungkinkan Anda untuk menambahkan "tag" hanya ke komit terakhir. Untuk menambahkan tag ke komit yang lebih lama, tunjukkan setelah perintah "git tag" juga pengidentifikasi (Checksume) dari komit untuk dirujuk. Sintaks lengkapnya ditunjukkan di bawah ini:

    $ git tag -a <Nome_Versione> <Checksum_Commit>

Untuk melacak "checksum" dari berbagai komit yang dibuat, gunakan perintah "git log".

    $ git log --pretty=oneline

Setelah perintah diluncurkan, daftar dalam urutan kronologis dari berbagai "checksum" dari komit akan ditampilkan di terminal diikuti dengan komentar yang dimasukkan selama fase "komit" dari perubahan.


Linux
  1. Diurutkan dengan sort di baris perintah

  2. Multi-Tugas di baris perintah dengan screenie

  3. Bagaimana Mengenalinya Versi Os X Saya Dari Baris Perintah?

  1. Memanipulasi teks pada baris perintah dengan sed

  2. Cara mengaudit izin dengan perintah find

  3. Dengan Perintah "kucing" Linux, Bagaimana Hanya Menampilkan Baris Tertentu Dengan Angka?

  1. Cara memeriksa versi Ubuntu dari baris perintah

  2. Temukan versi WordPress dari baris perintah

  3. Bagaimana cara mendapatkan versi driver nvidia dari baris perintah?