“Belajar Git Tingkat Lanjut”
Daftar Isi
Pengantar
Setelah sebelum nya mempelajari Cara install git dan beberpa perintah git untuk pemula di link https://hendro-wibiksono.web.id/2021/11/18/cara-install-git-pada-ubuntu-20-04-debian-11/ . Selanjutnya kita lanjutkan pembelajaran tingkat lanjut.
Bekerja dengan Remote Repositori
Pada proyek pengembangan software yang melibatkan banyak orang (tim), kita tidak hanya akan menyimpan sendiri repository proyeknya.
Semua tim yang terlibat dalam pengkodean (coding) akan menyimpan repository lokal di komputernya masing-masing.
Setelah itu, akan dilakukan penggabungan ke repository inti atau remote.
Biasanya akan ada repository pusat atau untuk menyimpan source code yang sudah digabungkan (merge) dari beberapa orang.
Di mana nyimpan repository remote-nya?
Bisa di server kantor atau bisa juga menggunakan layanan seperti Github, Gitlab, Bitbucket, dll.
Github adalah layanan yang paling populer untuk menyimpan (hosting) repository secara remote. Banyak proyek open source tersimpan di sana.
Kita akan menggunakan Github pada tutorial ini, pastikan kamu sudah memiliki akun Github.
Membuat Repository di Github
Silahkan buka Github, kemudian buat sebuah repository dengan nama belajar-git
.
Maka sekarang kita punya repository kosong di Github.
Menambahkan dan Menghapus Remote
Sebelum kita bisa upload semua revisi yang ada di repository lokal, kita harus menambahkan remote-nya terlebih dahulu.
Ada dua pilihan URL remote yang bisa kita berikan:
Melalui HTTPS:
https://github.com/petanikode/belajar-git.git
dan melalui SSH:
git@github.com:petanikode/belajar-git.git
Apa bedanya?
Kalau kita menggunakan HTTPS, maka kita akan diminta password setiap kali melakukan push.
Sedangkan yang menggunakan SSH, kita tidak akan diminta password. Namun, kita harus melakukan konfigurasi SSH Key terlebih dahulu.
Saya lebih suka yang menggunakan SSH.
Maka perintah untuk menambahkan remotenya akan menjadi seperti ini:
git remote add github git@github.com:petanikode/belajar-git.git
Setelah itu, silahkan ketik perintah git remote -v
untuk melihat remote apa saja yang sudah ditambahkan.
Bagus, sekarang kita sudah menambahkan remote di dalam repository lokal.
Selanjutnya kita bisa melakukan push atau mengirim revisi ke repository remote (Github).
Nah untuk menghapus dan mengubah nama remote dapat dilakukan dengan perintah berikut:
Ubah nama remote:
git remote rename github kantor
Keterangan:
github
adalah nama lamakantor
adalah nama baru
Hapus remote:
git remote remove github
keterangan:
github
adalah nama remote yang akan dihapus.
Mengirim Revisi ke Remote Repository
Perintah yang kita gunakan untuk mengirim revisi ke repository remote adalah git push
.
git push github master
Keterangan:
github
adalah nama remote.master
adalah nama cabang tujuan.
git remote -v
git remote
Setelah itu lakukan beberpa revisi atau commit.
git add .
git commit -m "menambahkan beberapa revisi"
git log --oneline
Maka tinggal kita kirim saja dengan perintah git push github master
.
Sekarang lihat ke Github, pasti semuanya sudah ter-upload ke sana.
Latihan
coba buat revisi lagi di file index.html
.
Lalu lakukan commit dan push.
git add index.html
git commit -m "mengubah judul dan teks di body"
git push github master
Periksa kembali repository di Github dan perhatikanlah perubahanya.
Jika ktia klik commit terakhir, maka kita akan dibawa ke git diff
-nya Github.
Di sana kita bisa melihat perubahan apa saya yang dilakukan pada commit tersebut.
Mengambil Revisi dari Remote Repository
Saat kita bekerja dengan repository yang memiliki banyak kontributor, kita seharusnya mengambil dulu revisi terbaru dari repository inti agar tidak bentrok.
Misalnya begini.
Pada repository remote ada kontributor lain yang sudah menambahkan dan merubah sesuatu di sana.
Maka kita harus mengambil perubahan tersebut, agar repository lokal kita tetap ter-update atau sama persis seperti repository remote.
Ada dua perintah untuk mengambil revisi dari repository remote:
git fetch [nama remote] [nama cabang]
git pull [nama remote] [nama cabang]
Apa perbedaanya?
Perintah git fetch
hanya akan mengambil revisi (commit) saja dan tidak langsung melakukan penggabungan (merge) terhadap repository lokal.
Sedangkan git pull
akan mengambil revisi (commit) dan langsung melakukan penggabungan (merge) terhadap repository lokal.
Terus kita harus pakai yang mana?
Tergantung dari situasi dan kondisi.
Bila kita sudah membuat perubahan di repository lokal, maka sebaiknya menggunakan git fetch
agar perubahan yang kita lakukan tidak hilang.
Namun, bila kita tidak pernah melakukan perubahan apapun dan ingin mengambil versi terakhir dari repository remote, maka gunakanlah git pull
.
Mengambil Revisi dengan git fetch
Baiklah, sekarang mari kita coba praktekkan.
Silahkan buka github, dan tambahkan file README.md
melalui Github.
Klik tombol add README.
Setelah itu, isilah file RAEDME.md
dengan apapun yang kamu inginkan.
Setelah selesai, simpan perubahan dengan melakukan commit langsung dari Github.
Pesan commit bersifat opsional, boleh di isi boleh tidak. Karena Github akan membuatkannya secara otomatis.
Sekarang ada perubahan baru di repository remote dan kita akan mengambil perubahan tersebut.
Mari kita lakukan dengan perintah git fetch
.
git fetch github master
Revisi sudah diambil, tapi belum ada file README.md
di dalam repository lokal.
Kenapa bisa begitu?
Ya, balik lagi dari pengertian git fetch
. Dia hanya bertugas mengambil revisi saja dan tidak langsung menggabungkannya dengan repository lokal.
Coba kita cek dengan git log
.
Lalu sekarang bagaimana cara kita menggabungkan commit dari repository remote dengan lokal?
Gunakan perintah git merge
.
git merge master github/master
ls
git log --oneline
Kita sudah berhasil menggabungkan revisi dari remote dan lokal.
Mengambil Revisi dengan git pull
Lakukan hal yang sama seperti tadi.
Kali ini kita akan membuat file baru bernama register.html
melalui Github.
Berikan nama file dengan register.html
dan isi dengan apa saja.
Simpan revisi dan tambahkan persan commit seperti ini.
Sekarang ada perubahan baru di repository remote dan kita akan mengambilnya dengan perintah git pull
.
Silahkan buka repository lokal dan ketik perintah berikut:
git pull github master
Maka semua revisi akan diambil dan langsung digabungkan (merge).
Clone Remote Repository
Clone repository bisa kita bilang seperti copy repository dari remote ke lokal.
Perintah untuk melakukan clone adalah git clone
.
git clone https://github.com/petanikode/belajar-git.git [nama dir]
Keterangan:
https://...
adalah URL repository remote, kita juga bisa menggunakan SSH.[nama dir]
(opsional) adalah nama direktory yang akan dibuat. Jika kita tidak berikan nama direktori, maka akan otomatis menggunakan nama repository.
cd /home
git clone git@github.com:petanikode/belajar-git.git
FYI: Saat kalian clone sebuah repository dari Github, nama remote origin
akan diberikan secara otomatis.
Source : https://www.petanikode.com/tutorial/git/
Penutup
Sahabat Blog Learning & Doing demikianlah penjelasan mengenai Belajar Git Tingkat Lanjut. Semoga Bermanfaat . Sampai ketemu lagi di postingan berikut nya.