Git 101 : Belajar Menggunakan Git

Jonathan Chandra
8 min readMar 21, 2021
Photo by Pankaj Patel on Unsplash

Artikel ini dibuat untuk tugas mata kuliah Proyek Perangkat Lunak 2020/2021, Fakultas Ilmu Komputer, Universitas Indonesia

Version Control System (VCS) merupakan perangkat lunak yang membantu para developer dalam tim untuk mengatur perubahan yang terjadi dalam source code yang sedang dikerjakan.

Saat kita bekerja di dalam tim untuk mengembangkan sebuah perangkat lunak, kita akan kesulitan menghadapi adanya perubahan code, konflik pada code melihat di dalam tim terdapat orang-orang yang bekerja secara paralel. Untuk membantu hal tersebut, kita dapat menggunakan salah satu Version Control System yaitu Git.

Git merupakan perangkat lunak yang dapat kita gunakan untuk menyimpan setiap perubahan yang terjadi di dalam pekerjaan kita. Dengan menggunakan Git, kita dapat memastikan tidak ada konflik pada code yang sedang kita kerjakan.

Git Manual

Untuk dapat menggunakan Git, anda bisa belajar menggunakan command-command berikut pada Git yang sering digunakan.

  • Git init

Git init merupakan command yang digunakan untuk membuat repositori Git yang baru. Cara menggunakan command ini adalah dengan menjalankan command berikut pada command prompt di dalam folder yang dinginkan.

git init

Berikut adalah screenshot contoh penggunaan git init.

Pada screenshot di atas, dapat dilihat bahwa folder test repository ingin saya jadikan repositori lokal, maka saya jalankan command “git init” di dalam root folder tersebut.

  • Git clone

Git clone merupakan command yang digunakan untuk menyalin repositori online yang sudah ada.

git clone <repository url>

Misalnya, saya mau menyalin repositori Test Project yang ada di dalam Gitlab saya, saya dapat menyalin url repositori kita dengan cara mengklik tombol Clone dan kemudian klik tombol yang dilingkari merah pada screenshot di bawah.

Dari screenshot di atas, saya memperoleh url repositori “https://gitlab.com/jonathanchandra15/test-project.git”.

Kemudian saya dapat menyalin repositori tersebut dengan menjalankan command seperti screenshot berikut.

Pada screenshot di atas, saya ingin menyalin repositori tersebut ke dalam folder PPL yang sebelumnya isinya seperti ini.

Setelah menyalin repositori tersebut, maka isi dari folder PPL saya akan seperti ini.

Dapat dilihat bahwa sudah ada folder baru bernama ‘test-project’ yang merupakan salinan dari repositori online.

  • Git remote

Kita dapat menghubungkan repositori yang ada di komputer kita dengan repositori online dengan menambahkan remote pada repositori kita sesuai dengan url repositori online yang ingin kita hubungkan dengan menjalankan command berikut.

//Untuk menambahkan remote
git remote add origin <url repositori>
//Untuk mengganti remote
git remote set-url origin <url repositori>

Untuk melihat remote repositori kita, kita dapat menjalankan command berikut.

git remote -v

Berikut adalah contoh output dari command “git remote -v” pada repositori test-project dari contoh git clone sebelumnya.

Dapat dilihat bahwa repositori yang saya salin sebelumnya terhubung dengan repositori online Test Project yang ada di gitlab saya karena url repositori di bagian origin pada screenshot di atas sama dengan url repositori online Test Project saya.

  • Git add

Git add merupakan command yang digunakan untuk menambahkan file-file yang akan disimpan perubahannya.

//Untuk menambahkan beberapa file yang diinginkan
git add <nama-nama file yang diinginkan>
//Untuk menambahkan seluruh file yang berubah
git add .

Misalnya saya ingin menambahkan 3 file baru yaitu “1.txt”, “2.txt”, dan “3.txt” yang nantinya ingin saya simpan perubahannya di repositori lokal saya yaitu test-project (penambahan file baru juga merupakan perubahan). Maka setelah saya membuat file-file tersebut saya dapat menambahkan file-file tersebut untuk disimpan perubahannya dengan menjalankan command git add seperti pada screenshot berikut.

Dari screenshot di atas, command “git add 1.txt” hanya menambahkan file “1.txt” sedangkan command “git add .” akan menambahkan file “2.txt” dan “3.txt” (untuk buktinya bisa dilihat pada contoh git commit di bawah ini).

  • Git commit

Setelah menjalankan command “git add”, kita melakukan commit terhadap penambahan perubahan tersebut dengan menjalankan command berikut.

git commit -m "Pesan yang diinginkan"

Melanjutkan contoh sebelumnya, setelah menjalankan command git add, kita melakukan commit seperti pada contoh screenshot berikut.

Dari screenshot di atas, dapat dilihat bahwa ada 3 file baru yang sudah disimpan perubahannya, yakni “1.txt”, “2.txt”, dan “3.txt”.

  • Git push

Setelah melakukan commit, kita dapat mengirim perubahan tersebut ke repositori online yang terhubung dengan repositori kita dengan menjalankan command berikut.

git push origin master

Origin pada command di atas berarti kita akan mengirim perubahan ke repositori online yang memiliki url sesuai dengan yang ada di bagian origin saat kita menjalankan command “git remote -v”. Master pada command di atas berarti kita mengirim perubahan ke branch/cabang master pada repositori online tersebut (penjelasan mengenai branch ada di bawah).

Melanjutkan contoh sebelumnya lagi, sekarang saya ingin mengirim perubahan tersebut ke repositori online saya (Test Project) yang ada di gitlab dengan menjalankan command seperti pada screenshot berikut.

Sekarang mari lihat isi repositori online saya. Sebelum menjalankan command git push, isi repositori online saya adalah sebagai berikut.

Setelah menjalankan command git push, repositori online saya akan menjadi seperti berikut.

Dapat dilihat bahwa ketiga file yang baru dibuat sudah ada di repositori online.

  • Git pull

Git pull merupakan command yang digunakan untuk meng-update file-file di repositori kita sesuai dengan yang ada di remote repository.

git pull origin master

Untuk penjelasan origin dan master sama seperti di bagian git push hanya bedanya kita ingin menarik file-file dari repositori online ke repositori lokal bukan mengirimnya dari repositori lokal ke repositori online.

Meneruskan contoh sebelumnya lagi, misalnya saya menghapus “1.txt” langsung di repositori online saya di gitlab, sudah pasti isi repositori online dengan repositori lokal saya akan berbeda. Maka dari itu saya ingin meng-update repositori lokal saya dengan menjalankan command seperti screenshot berikut.

Setelah itu “1.txt” akan terhapus di repositori lokal saya seperti screenshot berikut.

  • Git branch

Saat mengembangkan sebuah perangkat lunak, kita dapat membuat branch baru saat ingin mengimplementasi suatu fitur untuk memisahkan pekerjaan yang ada dengan pekerjaan yang sedang dikerjakan. Saat membuat sebuah repositori, repositori tersebut sudah memliki branch “master”. Kita dapat membuat branch baru dengan menggunakan command git branch.

//Untuk membuat branch baru
git branch <nama branch>
//Untuk melihat daftar branch yang ada
git branch
//Untuk menghapus branch
git branch -d <nama branch>

Berikut adalah contoh dari penggunaan command-command git branch di atas.

Tanda ‘*’ di screenshot di atas menandakan posisi kita sekarang berada di branch apa.

  • Git checkout

Git checkout merupakan command yang digunakan untuk berpindah ke branch yang diinginkan.

//Untuk pindah ke suatu branch
git checkout <nama branch>
//Untuk membuat branch baru dan pindah ke branch tersebut
git checkout -b <nama branch>

Berikut adalah contoh penggunaan command-command git checkout di atas.

  • Git merge

Git merge merupakan command yang digunakan untuk menggabungkan file-file yang ada pada dua branch. Dalam proses melakukan merge, akan ditambahkan satu commit berupa merge commit sebagai commit yang paling baru. Kita dapat melakukan merge saat kita ingin mengelompokkan beberapa commit di history.

// Melakukan penggabungan file-file dari branch A ke file-file 
// pada current branch
git merge <branch A>

Berikut adalah contoh penggunaan command git merge.

Pada contoh di atas, saya menambahkan file baru yaitu “4.txt” di branch master yang berarti pada branch branch2 belum ada “4.txt”. Saya ingin menggabungkan branch master dengan branch branch2 sehingga isi file di kedua branch tersebut sama, maka saya melakukan merge seperti pada contoh di atas. Setelah itu mari kita lihat isi branch branch2 setelah melakukan merge pada screenshot di bawah.

Dapat dilihat setelah melakukan merge dengan branch master, branch branch2 sekarang juga memiliki “4.txt” di dalamnya.

  • Git rebase

Git rebase merupakan command yang sama seperti “git merge” yang tujuannya untuk menggabungkan file-file yang ada pada dua branch hanya perbedaanya git rebase tidak menghasilkan merge commit melainkan perubahan history commit kita. Saat melakukan rebase, seluruh commit perubahan dari branch sumber akan diletakkan sebelum seluruh commit perubahan yang baru pada branch tujuan. Misalnya pada branch 1 terdapat commit A, B, C dan pada branch 2 terdapat commit A, B, D, E dimana commit A, B ada karena pembuatan branch 2 dilakukan setelah commit B. Setelah melakukan rebase dari branch 2 ke branch 1, maka daftar commit pada branch 1 akan menjadi A, B, D, E, C. Rebase dapat dilakukan dengan menjalankan command berikut. Kita dapat melakukan rebase saat kita ingin menjaga agar commit-commit yang ada tetap linear di dalam history. Selain itu, jangan melakukan rebase saat berada di public/shared branch.

// Melakukan penggabungan file-file dari branch A ke file-file 
// pada current branch
git rebase <branch A>
  • Git revert

Git revert merupakan command yang digunakan untuk menggabungkan versi file pada commit sebelumnya yang dipilih, menggabungkannya dengan versi file yang sekarang dan membuat commit baru sesuai dengan commit yang dipilih.

git revert <id commit>

Command di atas akan menggabungkan versi file pada commit dengan id commit dengan versi file yang sekarang. Untuk memperoleh id commit kita dapat melihatnya dengan menampilkan history commit kita dengan menggunakan command berikut.

git log

Berikut adalah screenshot dari history commit pada proyek mata kuliah Proyek Perangkat Lunak saya.

Contoh tampilan history commit dengan menggunakan command “git log”

Dari screenshot di atas, kita dapat melihat id dari commit-commit yang ada pada tulisan yang berwarna kuning.

  • Git stash

Git stash merupakan command yang digunakan untuk menyimpan perubahan yang belum di-commit. Biasanya kita melakukan stash saat kita ingin pindah ke branch lain namun pada branch yang sekarang masih ada pekerjaan yang belum selesai atau belum di-commit karena masih belum yakin dan jika kita ingin pindah ke branch lain, kita harus sudah melakukan commit terhadap seluruh perubahan file yang ada atau kondisi working tree kita sudah bersih. Kita dapat melakukan stash dengan command berikut.

// Untuk menyimpan pekerjaan yang belum di-commit
git stash
// Menerapkan perubahan yang sebelumnya sudah dismpan
git stash pop

Sekian penjelasan mengenai command-command yang sering digunakan pada Git. Semoga artikel ini dapat membantu anda dalam menggunakan Git.

--

--