GNU/Linux >> Belajar Linux >  >> Linux

Pelajari Perintah Git dengan Contoh Praktis di Linux – Bagian 1

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


Linux
  1. 10+ perintah Linux VI dengan contoh

  2. Perintah JQ di Linux dengan Contoh

  3. Perintah rsync Linux dengan contoh praktis

  1. Cara Menggunakan Perintah Hexdump Linux dengan Contoh Praktis

  2. Perintah Head and Tail di Linux Dijelaskan dengan Contoh

  3. 8 perintah Linux praktis favorit saya

  1. Perintah wc Linux dengan Contoh

  2. 19 Perintah SSH Umum di Linux Dengan Contoh

  3. Lembar Cheat Perintah Linux:Dengan Contoh