Lanjutan materi dari Belajar Git Pemula #1: Memahami Penggunaan Git dari Dasar — Menggunakan contoh proyek atau repository yang sudah dibuat sebelumnya.
Sejauh ini kita sudah mempelajari bagaimana membuat repository, bagaimana melakukan commit, membuat cabang, dan yang terakhir penggabungan cabang. Dan jika kita melihat kembali pada pembahasan di bagian #1, kita juga telah mencoba melakukan restorasi file, atau mengembalikan file yang dihapus ke tempat semula.
Saat kita dapat mengembalikan file yang hilang ataupun memulihkan kode proyek yang rusak, atau yang dimodifikasi ke semula. Disini perlu diingat, bahwa setiap file yang hilang tersebut tidak dapat lagi kita pulihkan apabila repository, khususnya direktori .git
kita hilang, entah tidak sengaja kehapus dan tidak bisa di restore, atau laptop kita rusak dan tidak ada backup. Intinya hilang permanen.
Kenapa demikian? Karena direktori .git
ini adalah tempat dimana data-data penting Git dan database local kita berada, dan yang disalin ketika kita menyalin repository dari komputer lain. Oleh karena itu, akan sangat fatal jika hilang.
Kita harus bagaimana? Jadi agar kita merasa aman, untuk mengantisipasi hal tersebut terjadi, langkah terbaik yang perlu kita lakukan adalah dengan menyalin repository kita ke tempat lain, atau dengan menghostingnya.
Dengan menghosting atau meletakan repository di tempat lain, kita tidak perlu khawair jika harus kelihangan repository yang asli, karena ada salinannya. Yang jelas sinkronisasi tetap dilakukan setiap ada perubahan, agar keduanya tetap sama.
Begitu juga saat kita melakukan kolaborasi, bekerja dengan tim, atau orang lain yang berkontribusi pada proyek kita. Selain dapat menjadi tempat backup, menempatkan repository di server, atau dengan menghostingnya juga diperlukan agar proyek kita dapat diakses oleh siapapun untuk berbagi pekerjaan.
Upload Repository ke Github
Setelah menyelesaikan pekerjaan dan penggabungan cabang telah kita lakukan di pembahasan sebelumnya (#3: Git Merging), selanjutnya kita akan coba hosting repository yang sudah kita buat.
Repository yang sudah kita buat akan kita upload ke layanan hosting gratis Github.com. Kita akan mempelajari cara upload repository ke Github.
Apakah harus Github? Sebenarnya tidak. Selain Github, ada juga layanan hosting lain yang bisa kita gunakan, seperti Gitlab, Bitbucket, atau bahkan server hosting milik sendiri. Github adalah yang paling populer dan mudah digunakan.
Remote Repository
Sebelum kita ke pembahasan tentang langkah-langkah upload repository ke Github, kita bahas terlebih dahulu mengenai pengertian atau istilah yang berkaitan dengan repository, yaitu remote repository.
Remote repository atau repository 'jarak jauh' adalah repository yang berada di tempat lain, seperti di internet atau dalam jaringan lokal antar komputer.
Selain remote repository ada juga istilah lain atau kebalikannya, yaitu local repository. Local repository adalah repository Git yang disimpan atau berada di komputer kita, baik itu repository yang kita buat sendiri atau dari hasil kloning (clone).
Sebenarnya tidak ada perbedaan yang pasti dari keduanya, baik itu remote repository dan local repository. Remote repository seperti salinan, atau projek Git yang kita backup di tempat lain. Kita dapat mengambil perubahan dari remote repository dan mengirim perubahan ke remote repository (fetch dan push).
Ketika kita mengkloning projek github misalnya, kemudian melakukan pekerjaan dan commit, maka commit tersebut disimpan pada repository lokal di komputer kita. Kemudian agar keduanya memiliki perubahan yang sama, yang perlu kita lakukan adalah melakukan sinkronisasi. Kita tinggal kirim (push) perubahan atau commit local kita ke remote repository.
Membuat Repository Github
Sekarang mari kita coba upload repository yang sudah kita buat ke Github. Silakan login di Github.com, atau buat akun Github baru jika belum pernah membuatnya. Langkah awal yang akan kita lakukan adalah membuat repository baru di Github.
Pastikan bahwa akun github yang digunakan untuk membuat repository sama dengan akun Git yang diatur sebelumnya di command prompt. Cek list konfigurasi: git config --list
.
Jika nama dan email berbeda, silakan tambahkan pengguna Git baru sesuai nama dan email yang digunakan untuk repository Github yang baru dibuat. Lihat kembali cara menambahkan pengguna baru.
Jika sudah login di Github.com, untuk membuat repository baru, kita klik 'new repository' pada menu dropdown seperti gambar di bawah, kemudian tentukan nama repository pada kolom 'repository name', lalu pilih visibilitas repo 'public', dan langsung klik 'create repository'.
Setelah klik 'create repository' maka kita akan diarahkan ke halaman lain yang menapilkan URL repository https://github.com/<user>/<nama-repo>
dan petunjuk untuk menambah atau membuat repository baru.
URL repository yang terbuat adalah URL untuk repository jarak jauh kita (remote repository), dan perlu kita tambahkan ke proyek untuk mengirim repository.
Menambahkan URL
Karena kita sudah memiliki repository atau proyek Git yang akan di upload, jadi kita langsung menambahkan Url remote repository ke proyek.
Sekarang, mari kita buka command prompt untuk menambahkan URL Remote Repository baru. Jalankan perintah seperti di bawah ini untuk menambahkan:
git remote add origin <alamat-repositori>
Jika kita jalankan git remote
tanpa argumen apapun, maka akan menampilkan repository jarah jauh yang telah kita tambahkan. Seperti di bawah ini:
➜ belajar-git git:(master) git remote origin
Output origin
diatas adalah nama pendek atau alias untuk URL repository jarak jauh kita. Nama 'origin' ini dibuat saat kita menambahkan URL remote repository baru, seperti di atas. Dan kita tidak harus menggunakan nama 'origin' sebagai alias. Kita bisa gunakan nama lain. Nama origin' adalah nama default, dan atau yang sering digunakan.
Mari kita coba kembali jalankan git remote
, namun dengan menambahkan opsi -v
. Jika kita jalankan git remote -v
, maka akan menampilkan alias beserta URL remote repository. Contoh output seperti di bawah ini:
➜ belajar-git git:(main) git remote -v origin https://github.com/wahyunanangwidodo/belajar-git.git (fetch) origin https://github.com/wahyunanangwidodo/belajar-git.git (push)
Jika kita lihat output diatas, kita memiliki URL yang sama untuk fetch dan push. Kenapa tidak satu url saja? Itu karena kita dapat mengambil (fetch) dan mendorong (push) ke url yang berbeda menggunakan remote yang sama.
Cabang Default di Github
Sama seperti Git yang memiliki cabang default untuk repository baru, repository baru Github juga memiliki cabang default. Namun, nama dari keduanya berbeda. Jika nama cabang default Git adalah 'master', untuk cabang default di Github yaitu 'main'.
Penjelasan ini untuk baris perintah yang ada di petunjuk setelah kita membuat repository baru. Bahwa setelah kita menambahkan URL remote repository ke proyek, langkah kita selanjutnya adalah menyesuaikan nama cabang atau merubah cabang default repository lokal kita dengan cabang default Github.
Perintah yang di gunakan adalah git branch -M main
. Mari kita jalankan perintah tersebut.
➜ belajar-git git:(master) git branch -M main ➜ belajar-git git:(main) git branch * main todo
Sebenarnya kita bisa tidak merubahnya, atau tidak menjalankan perintah tersebut. Karena jika kita langsung 'push' repository lokal kita dengan branch default 'master', dan tidak ditemukan, maka otomatis akan dibuat di repository github. Hanya saja, di lain sisi, saat kita mengirim perubahan, atau memperbarui cabang remote — git push
hanya memperbarui cabang yang sesuai.
Upload Repository
Sampai disini, setelah baris perintah untuk mengubah nama cabang diatas kita jalankan, kita lanjutkan dengan melakukan 'push', mengirim lokal repository kita ke remote repository. Mari kita jalankan perintah berikut:
git push -u origin main
Opsi -u
diatas adalah untuk menambahkan referensi upstream (pelacakan), menghubungkan dan atau menentukan referensi cabang remote yang dilacak untuk lokal cabang utama 'main' dari 'origin'.
Selanjutnya setelah perintah diatas dijalankan, maka kita diminta untuk memasukan username dan password akun Github yang muncul pada command prompt, seperti di bawah ini.
➜ belajar-git git:(main) git push -u origin main Logon failed, use ctrl+c to cancel basic credential prompt. Username for 'https://github.com': wahyunanangwidodo Password for 'https://[email protected]':
Berbeda dengan kolom Username yang menggunakan Username yang sama dengan Akun Github, untuk Password sendiri tidak menggunakan Password yang sama dengan akun Github kita, melainkan Password khusus, yaitu 'Personal access token'.
Personal access token ini dibuat di akun Github kita. Jika belum pernah membuat sebelumnya, silahkan lihat terlebih dahulu cara membuat personal access token.
Setelah access token dibuat, silahkan copy kemudian paste pada saat memasukan password pada command prompt. Password yang kita tambahkan / input tidak akan terlihat, jadi tinggal paste (ctrl + v atau klik kanan) dan enter.
Jika tidak ada kesalahan, maka hasil akhir / output seperti di bawah ini.
➜ belajar-git git:(main) git push -u origin main Logon failed, use ctrl+c to cancel basic credential prompt. Username for 'https://github.com': wahyunanangwidodo Password for 'https://[email protected]': Enumerating objects: 25, done. Counting objects: 100% (25/25), done. Delta compression using up to 8 threads Compressing objects: 100% (21/21), done. Writing objects: 100% (25/25), 2.46 KiB | 629.00 KiB/s, done. Total 25 (delta 3), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (3/3), done. To https://github.com/wahyunanangwidodo/belajar-git.git * [new branch] main -> main Branch 'main' set up to track remote branch 'main' from 'origin'.
Setelah repository berhasil kita upload melalui command prompt, langkah kita selanjutnya adalah kembali ke halaman repository Github dan melakukan refresh halaman.
Setelah halaman repository di refresh, maka akan tampil file atau isi repository yang kita upload.
Selesai
Kita telah selesai menyimpanan repository yang kita buat ke Github. Kita telah mempelajari, mulai dari bagaimana membuat repository Github baru, hingga melakukan 'push' (mendorong) atau mengirim repository lokal di komputer kita ke server hosting Github.com.
Pembahasan kita selesai sampai disini. Silahkan pelajari, dicoba, dan lakukan eksperimen.