Ronaldo Vitto Lewerissa

Software engineering learning documentation.

Tutorial Git: Push, Pull, dan Fetch

Salah satu hal paling sering ditemui ketika kita sedang menggunakan Git adalah fitur push, pull, dan fetch.

Seorang bisa saling berkolaborasi dan fokus pada satu hal spesifik tanpa perlu khawatir akan pekerjaan orang lain melalui fitur-fitur ini.

Kita menggunakan push biasanya untuk melakukan branch update ke remote repository. Untuk melakukan hal ini, kita perlu mengetahui remote repository yang hendak kita push. Untuk itu mari kita gunakan fitur berikut.

git remote

Anda bisa menggunakan git remote untuk menambahkan, mengubah, mengecek, atau menghapus remote repository.

Sebelum anda melakukan push, biasanya anda akan mengecek remote repository apa sajakah yang sudah terdaftar di repositori lokal anda:

git remote  

dan untuk mengecek remote repository secara lebih detail:

git remote -v  

Akan muncul nama remote repository anda, diikuti URL, dan pilihan antara fetch atau push.

Apabila ternyata remote repository yang hendak anda tuju belum terdaftar, maka silakan tambahkan terlebih dahulu:

git remote add <nama> <url>  

Pastikan letak remote  dan add  tidak tertukar.

Ketika anda melakukan git clone, Git akan secara otomatis menambahkan remote repository yang mengacu pada remote repository yang anda clone. Git akan menamainya origin.

git push

Nah, untuk melakukan push, anda cukup mengikuti langkah berikut:

git push <remote> <branch>  

remote: remote adalah nama remote repository yang hendak anda tuju.

branch: nama branch lokal yang hendak anda push.

Biasanya nama branch berpengaruh untuk menentukan apakah suatu branch akan ditambahkan di remote repository atau malah mengupdate branch yang sudah ada.

Anda hanya bisa melakukan push ke repositori yang anda miliki. Perihal push ke repositori milik orang lain, langkah yang bisa anda lakukan adalah:

  1.  fork repositori mereka (secara online).

  2. clone *repositori yang telah anda *fork.

  3. tambahkan remote repository yang mengacu ke repositori awal yang anda fork sebagai upstream.

Langkah tiga bukan merupakan suatu kewajiban.

Anda biasanya menambahkan upstream apabila anda ingin mengupdate local branch anda agar up-to-date dengan remote repository yang bersangkutan.

Selanjutnya anda tinggal melakukan push ke repositori yang telah anda fork dan secara manual melakukan pull request.

Pemilik repositori akan me-review perubahan-perubahan yang telah anda buat dan menentukan apakah perlu untuk dilakukan merging.

git pull dan git fetch

git fetch sebenarnya merupakan bagian dari git pull.

Ketika anda mengeksekusi perintah git pull, secara default Git akan melakukan fetching lalu merging.

git fetch akan menyimpan remote branch *sebagai *local branch anda. Semua remote branch yang anda fetch akan disimpan sebagai local remote branch di<root>/remotes//.

Setelah disimpan, Git akan meng-copy ke local branch anda.

Ketika <namaBranch> dinyatakan sebagai HEAD, artinya branch tersebut adalah default branch untuk *repository *yang bersangkutan.

Biasanya git fetch mengambil peran ketika anda hanya ingin mengintip pekerjaan kawan anda, atau ketika remote branch dan local branch melakukan banyak perubahan yang serupa sehingga merging akan menjadi kendala.

Written by Ronaldo Vitto Lewerissa

Read more posts by this author.