Git adalah sistem kontrol versi terdistribusi. Ini terutama digunakan oleh pengembang perangkat lunak untuk manajemen kode sumber mereka. Git adalah perangkat lunak sumber terbuka dan gratis dan banyak organisasi besar menggunakannya untuk mengelola basis kode besar mereka.
Dalam tutorial ini kita akan mengenal Git. Ini akan menjadi panduan langsung. Tutorial ini mengasumsikan bahwa Git telah terinstal di sistem Anda.
Konfigurasi awal pengguna Git
Pertama kita harus mengkonfigurasi pengaturan untuk pengguna Git. Kami dapat membuat pengaturan ini untuk semua repositori yang ada di sistem saat ini atau untuk repositori tertentu. Mari kita pahami ini dengan contoh:
Identitas pengguna
Di Git kita dapat menentukan identitas pengguna dengan memberikan nama dan alamat emailnya. Informasi ini akan digunakan selama setiap operasi komit. Jalankan perintah di bawah ini di terminal untuk menetapkan identitas:
$ git config --global user.name "Linuxtechi User" $ git config --global user.email "[email protected]"
Editor
Pengaturan ini mengonfigurasi editor, yang akan digunakan saat memberikan pesan komit:
$ git config --global core.editor vim
Kompresi
Pengaturan ini mengonfigurasi tingkat kompresi yang akan digunakan. Rentang yang valid untuk kompresi adalah -1 hingga 9. Nilai -1 menunjukkan kompresi zlib dan merupakan tingkat kompresi default. Nilai 0 berarti tidak ada kompresi, dan 1 hingga 9 adalah berbagai pengorbanan kecepatan/ukuran, 9 adalah yang paling lambat.
$ git config --global core.compression 2
Alat perbedaan
Pengaturan ini mengonfigurasi alat penampil berbeda. Misalnya, perintah di bawah ini mengonfigurasi vimdiff sebagai alat diff:
$ git config --global diff.tool vimdiff
Dalam perintah di atas kami telah menggunakan –global opsi di mana-mana, yang akan membuat konfigurasi ini global. Ini berarti bahwa konfigurasi yang sama akan diterapkan ke semua repositori yang ada di sistem saat ini. Untuk membuat repositori konfigurasi khusus, hapus saja opsi –global.
Konfigurasi daftar
Untuk membuat daftar konfigurasi Git, jalankan perintah di bawah ini di terminal:
$ git config -l
Perintah ini akan menghasilkan output berikut:
core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.editor=vim core.compression=2 user.name=Linuxtechi User [email protected] diff.tool=vimdiff
Repositori Git
Repositori adalah tempat dimana source code disimpan. Kami dapat membuat repositori baru atau menggunakan repositori yang sudah ada. Untuk membuat repositori kosong baru, jalankan perintah di bawah ini:
$ mkdir my-repo.git $ cd my-repo.git $ git init --bare Initialized empty Git repository in my-repo.git
Metode ini akan berguna ketika Anda memulai dengan proyek baru. Metode lain adalah dengan menggunakan repositori yang ada. Repositori semacam itu di-host di server jarak jauh seperti GitHub. Untuk mengunduh repositori jarak jauh gunakan perintah clone sebagai berikut:
$ git clone https://github.com/linuxtechiuser/my-repo.git
Dalam perintah di atas, argumen terakhir adalah jalur repositori jarak jauh.
Git alur kerja
Di bagian ini kita akan membahas alur kerja git.
Memperkenalkan perubahan baru
Langkah pertama adalah memperkenalkan perubahan baru. Bisa berupa penambahan file baru atau update file yang sudah ada. Mari kita buat file baru dan modifikasi file yang ada
$ touch AUTHORS # Create new file $ echo "New Contents" >> README # Update existing file
Periksa status repositori
Git adalah sistem pelacakan konten, itu akan mengidentifikasi dua perubahan di atas. Mari kita periksa status repositori:
$ git status -s M README ?? AUTHORS
Pada output di atas huruf M muncul sebelum README yang menunjukkan bahwa file yang ada dimodifikasi. Sedangkan ?? muncul sebelum AUTHORS yang menunjukkan bahwa ini adalah file baru dan Git tidak mengetahuinya, maka file tersebut disebut file tidak terlacak.
Tambahkan file ke set perubahan
Mari kita instruksikan Git untuk melacak file baru ini. Kita dapat mencapai ini menggunakan perintah add. Operasi ini akan mulai melacak perubahan yang dibuat pada file ini.
$ git add AUTHORS
Mari kita periksa status repositori sekarang:
$ git status -s A AUTHORS M README
Output di atas menunjukkan A sebelum AUTHORS yang menunjukkan bahwa file ini baru ditambahkan di bawah Git. Kita dapat menambahkan sejumlah file menggunakan perintah ini.
Hapus file dari changeset
Mari kita instruksikan Git untuk membatalkan pelacakan file yang baru ditambahkan ini. Kita dapat mencapai ini menggunakan perintah reset. Operasi ini akan menghapus file dari changeset
$ git reset AUTHORS $ git status -s M README ?? AUTHORS
Output di atas menunjukkan bahwa file AUTHORS tidak dilacak oleh Git.
Melakukan perubahan
Di Git, file yang merupakan bagian dari changeset akan membentuk komit. Setiap komit akan mendapatkan ID unik. Mari kita buat changeset terlebih dahulu
$ git add AUTHORS $ git add README
Sekarang mari kita komit perubahan ke repositori lokal dengan pesan komit. Di bawah perintah -m argumen menunjukkan pesan komit.
$ git commit -m "Updated README and added AUTHORS"
Ketika Anda menjalankan perintah di atas, itu akan menghasilkan output berikut:
[master 0b124eb] Updated README and added AUTHORS 2 files changed, 1 insertion(+) create mode 100644 AUTHORS
Tinjau perubahan
Di bagian ini kita akan membahas perintah yang memungkinkan kita untuk meninjau perubahan repositori.
Lihat log komit
Repositori dapat berisi banyak komit oleh banyak penulis. Kita dapat menggunakan perintah log untuk melihat semua komit yang tersedia:
$ git log
Ketika Anda menjalankan perintah di atas, itu akan menghasilkan output berikut:
commit 0b124eb6d0109d837f6f9396c9937406abd3f456 (HEAD -> master) Author: Linuxtechi User <[email protected]> Date: Fri Jul 27 21:06:55 2018 +0530 Updated README and added AUTHORS
Ini adalah komit yang telah kami buat sebelumnya. Pada perintah di atas:
- ID heksadesimal mewakili ID komit
- Bagian penulis dari komit menunjukkan detail tentang siapa yang membuat perubahan ini
- Bagian tanggal menunjukkan tanggal dan stempel waktu komit
Lihat log komit singkat
Perintah di atas akan menampilkan informasi rinci tentang setiap komit. Untuk melihat deskripsi singkat tentang setiap komit, gunakan opsi –oneline sebagai berikut:
$ git log --oneline
Ketika Anda menjalankan perintah di atas, itu akan menghasilkan output berikut:
0b124eb (HEAD -> master) Updated README and added AUTHORS
Lihat komit
ID Komit dikaitkan dengan setiap set perubahan. Kita dapat menggunakan ID ini dengan perintah show untuk melihat konten komit.
$ git show 0b124eb6d0109d837f6f9396c9937406abd3f456
Ketika Anda menjalankan perintah di atas, itu akan menghasilkan output berikut:
commit 0b124eb6d0109d837f6f9396c9937406abd3f456 (HEAD -> master) Author: Linuxtechi User <[email protected]> Date: Fri Jul 27 21:06:55 2018 +0530 Updated README and added AUTHORS diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README index 980a0d5..5680123 100644 --- a/README +++ b/README @@ -1 +1,2 @@ Hello World! +New Contents
Lihat perbedaan
Perintah Diff memungkinkan kita untuk meninjau perubahan sebelum membuat changeset. Perintah Diff menunjukkan perbedaan antara repositori dan ruang kerja lokal. Mari kita ubah file README dan lihat perbedaannya
$ echo "Generating diff" >> README $ git diff diff --git a/README b/README index 5680123..3158230 100644 --- a/README +++ b/README @@ -1,2 +1,3 @@ Hello World! New Contents +Generating diff
Pada perintah di atas:
- Tanda + menunjukkan perubahan yang ditambahkan ke file
- – tanda menunjukkan perubahan yang dihapus dari file
Bekerja dengan repositori jarak jauh
Sejauh ini kami hanya bekerja dengan repositori lokal. Pengembang lain tidak dapat menggunakan perubahan yang dibuat oleh kami karena bersifat lokal. Karenanya kolaborasi kode tidak dimungkinkan. Bagian ini akan menjelaskan perintah yang memungkinkan kita berinteraksi dengan repositori jarak jauh
Publikasikan perubahan ke repositori jarak jauh
Kami dapat mempublikasikan perubahan lokal ke repositori jarak jauh sehingga pengembang lain dapat menggunakannya. Sebelum memublikasikan perubahan, kita harus membuat changeset dan komit lokal. Kami dapat memublikasikan perubahan menggunakan perintah push sebagai berikut:
$ git push
Perintah ini menyalin perubahan dari ruang kerja lokal ke repositori jarak jauh. Di Git, operasi ini disebut sebagai operasi push.
Sinkronkan ruang kerja dengan repositori jarak jauh
Banyak pengembang dapat mempublikasikan perubahan ruang kerja mereka ke repositori jarak jauh. Git memungkinkan kita untuk mengunduh perubahan tersebut dan menyinkronkan ruang kerja dengan repositori. Kita dapat mencapai ini menggunakan perintah tarik:
$ git pull
Di Git, operasi ini disebut sebagai operasi tarik.
Lain-lain perintah Git
Bagian ini membahas berbagai perintah Git yang akan berguna untuk melakukan tugas sehari-hari:
Ubah komit terbaru
Git memungkinkan kita untuk memodifikasi komit terbaru. Kita dapat menggunakan metode ini untuk menghindari pembuatan komit baru. Ini sebagian besar digunakan untuk memodifikasi pesan komit sebelumnya. Untuk memodifikasi komit terbaru, gunakan –mengubah pilihan sebagai berikut:
$ echo "Yet another new change" >> README $ git add README $ git commit --amend -m "This is amended commit
Sekarang mari kita periksa log komit:
$ git log commit 8bf67aec1d1de87f03ab6aae93940b17826fde1c (HEAD -> master) Author: Linuxtechi User <[email protected]> Date: Fri Jul 27 21:54:55 2018 +0530 This is amended commit
Jika Anda mengamati output di atas dengan cermat maka kita dapat melihat pesan komit baru, ID-nya, dan stempel waktu baru.
Hapus file yang tidak terlacak
File yang tidak terlacak adalah file yang tidak diketahui oleh Git. Kami dapat menghapus semua file yang tidak terlacak menggunakan perintah clean.
Mari kita buat beberapa file yang tidak terlacak:
$ touch delete-me-1 delete-me-2 delete-me-3
Untuk menghapus semua file yang tidak terlacak di atas, gunakan perintah clean dengan -f pilihan sebagai berikut:
$ git clean -f Removing delete-me-1 Removing delete-me-2 Removing delete-me-3
Harap dicatat bahwa perintah ini akan menghapus file secara permanen maka gunakan dengan hati-hati.
Lihat komit dari penulis tertentu
Jika kita menggunakan perintah log maka itu menunjukkan komit dari semua penulis. Untuk melihat commit dari penulis tertentu gunakan flag –author sebagai berikut:
$ git log --author=Linuxtechi
Saat Anda menjalankan perintah di atas, ia akan mencantumkan semua komitmen penulis Linuxtechi sebagai berikut:
commit 8bf67aec1d1de87f03ab6aae93940b17826fde1c (HEAD -> master) Author: Linuxtechi User <[email protected]> Date: Fri Jul 27 21:54:55 2018 +0530 This is amended commit
Melihat riwayat setiap file baris demi baris
Untuk melihat riwayat baris demi baris kita dapat menggunakan perintah menyalahkan.
$ git blame README
Ketika Anda menjalankan perintah di atas, itu akan menghasilkan output berikut:
76294131 (Linuxtechi User 2018-07-27 21:12:11 -0700 1) Hello World! 8bf67aec (Linuxtechi User 2018-07-27 21:54:55 +0530 2) New changes 8bf67aec (Linuxtechi User 2018-07-27 21:54:55 +0530 3) Yet another changes
Pada perintah di atas:
- Kolom pertama menunjukkan ID komit
- Kolom kedua menunjukkan penulis
- Kolom ketiga menunjukkan stempel waktu
- Kolom terakhir menunjukkan nomor baris dan isi file
Perbedaan tampilan dari area pementasan
Saat Anda membuat changeset menggunakan perintah add maka file secara logis dipindahkan ke staging area. Mari kita lihat dengan contoh ini:
$ echo "Let us demonstrate staging area" >> README $ git add README $ git diff
Perintah di atas tidak akan menunjukkan perbedaan apa pun karena file dipindahkan ke staging area. Mari kita gunakan operasi –bertahap untuk melihat perbedaan:
$ git diff --staged diff --git a/README b/README index 74729a2..8bc5ffd 100644 --- a/README +++ b/README @@ -1,3 +1,4 @@ Hello World! New changes Yet another changes +Let us demonstrate staging area
Kesimpulan
Dalam tutorial ini kita membahas operasi dasar Git dengan contoh sederhana. Tutorial ini adalah titik awal yang baik untuk pemula Git.
Baca Selengkapnya : Pelajari Perintah Git dengan Contoh Praktis di Linux – Bagian 2