GitHub dan Repositori Jarak Jauh: Kode Anda di Awan
Beralih dari kerja lokal ke kerja tim: pahami apa itu remote, bagaimana menghubungkan repositori lokal dengan GitHub, dan apa perbedaan antara push, pull, dan fetch — tiga perintah yang paling sering membingungkan. Secara khusus, kita akan membahas autentikasi melalui kunci SSH, karena pemberi kerja mengharapkan Anda mengatur ini sendiri.
- Anda akan dapat membuat repositori di GitHub, menghubungkannya dengan proyek lokal, dan mempublikasikan perubahan menggunakan perintah push.
- Anda akan memahami perbedaan antara fetch dan pull, dan dapat memilih secara sadar di antara keduanya dalam kerja tim.
- Anda akan mengatur autentikasi SSH dengan GitHub tanpa kata sandi — seperti yang dilakukan para profesional.
Simula ng leksyon
Mengapa Repositori Remote Diperlukan?
- Repositori lokal—hanya ada di komputer Anda
- Repositori remote—penyimpanan cloud untuk tim
- Semua orang bisa melihat dan melakukan perubahan di satu tempat
- Sinkronisasi melalui internet secara real-time
Bayangkan Anda mengerjakan proyek sendiri; repositori lokal Git sudah cukup. Namun, begitu tim ikut terlibat, Anda membutuhkan ruang bersama. Repositori remote menjadi titik pusat penyimpanan kode yang bisa diakses semua anggota tim. Ini mirip dengan Google Docs, tempat semua perubahan disinkronkan secara real-time. Anda bisa melihat perubahan rekan tim, membahas kode melalui pull request, dan mengerjakan fitur yang berbeda secara paralel. Tanpa repositori remote, pengembangan tim akan berubah menjadi kekacauan: arsip saling dikirim dan versi file tidak berujung.
Bagaimana Penyimpanan Lokal dan Remote Terhubung
- origin — nama repositori remote bawaan
- Push — mengirim perubahan ke server
- Pull — mengambil perubahan dari server
- Setiap repositori independen dan berisi seluruh riwayat
Repositori lokal di komputer Anda bertukar data dengan repositori remote melalui dua perintah utama: push dan pull. Secara default, remote utama disebut origin. Namun, penting untuk dipahami bahwa ini bukan sekadar salinan file biasa. Setiap repositori berdiri sendiri dan menyimpan seluruh riwayat perubahan. Ketika Anda membuat commit secara lokal, commit itu tetap ada di komputer Anda sampai dikirim dengan push. Saat rekan tim memperbarui kode, Anda mengambilnya dengan pull agar pekerjaan Anda tetap sinkron.
Satu Lokal — Banyak Remote
- Bisa menghubungkan beberapa repositori remote
- origin — fork pribadi Anda di GitHub
- upstream — repositori sumber asli proyek
- Mudah menyinkronkan perubahan di antara keduanya
Proyek Anda bisa terhubung ke beberapa repositori remote sekaligus. Misalnya, origin adalah fork pribadi Anda di GitHub, sedangkan upstream adalah repositori utama proyek. Konfigurasi ini memungkinkan Anda mengerjakan perubahan di salinan sendiri, sambil tetap mudah mengambil pembaruan dari sumber utama. Ini sangat berguna saat berkontribusi pada proyek open source, karena Anda perlu menjaga fork tetap mutakhir. Anda yang menentukan kapan dan perubahan mana yang diambil dari upstream ke origin Anda. Sekarang, mari buat repositori sendiri di GitHub.
# Menambahkan repositori remote baru
git remote add upstream https://github.com/original/project.git
# Melihat daftar semua repositori remote
git remote -v
# Mengambil perubahan dari upstream ke branch lokal
git fetch upstream
git checkout main
git merge upstream/main
# Mengirim perubahan ke origin milik Anda
git push origin main
Buong leksyon ay para sa subscription
30 pang slide sa buong bersyon.
Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.
Mag-sign in o magparehistro Mag-subscribeNilalaman ng leksyon
- Mengapa Repositori Remote Diperlukan?
- Bagaimana Penyimpanan Lokal dan Remote Terhubung
- Satu Lokal — Banyak Remote
- Membuat Repositori Baru di GitHub
- README dan Lisensi — Commit Pertama Anda
- Menghubungkan Repositori Lokal dengan GitHub
- Apa Itu Kloning Repositori?
- Dua cara mengkloning: HTTPS dan SSH
- Praktik: mengkloning repositori
- Memeriksa pengaturan setelah mengkloning
- Mengapa kata sandi tidak praktis untuk GitHub
- Bagaimana kunci SSH bekerja
- Membuat kunci SSH
- Menambahkan kunci ke GitHub
- Mengirim kode ke cloud: git push
- Mengonfigurasi Branch Upstream
- Menyelesaikan Konflik saat Push
- Git pull: Sinkronisasi dengan Cloud
- Cara Kerja git pull di Balik Layar
- Masalah Umum saat git pull
- Mengapa git pull Bisa Berisiko
- Git fetch: Mengambil Perubahan dengan Aman
- Praktik: Melihat Perubahan melalui fetch
- Kapan Menggunakan fetch daripada pull
- Push ke Branch Orang Lain: Mengapa Ini Merusak Alur Kerja
- Cara yang Benar: Membuat Branch Sendiri untuk Perubahan
- Bencana Senyap: Saat pull Menghapus Perubahan Anda
- Perintah Penyelamat: git stash dalam Aksi
- GitHub: Lemari Awan untuk Kode Anda
- Mengatur Kunci SSH: Kartu Akses Digital Anda
- Dari Fork hingga Pull Request: Bekerja dalam Tim
- Pull request: konsep dan perbedaannya dari push biasa
- Ringkasan dan tugas
Mga artikulo tungkol sa araling ito
- Git at GitHub: ano ang pagkakaiba at paano sila magkaugnay
- git fetch at git pull: ano ang pagkakaiba at alin ang piliin
- Mga command ng Git: cheat sheet na may mga halimbawa para sa araw-araw
- Git repository: paano gumawa gamit ang git init at ikabit ang remote
- git clone: paano i-clone ang repository mula sa GitHub at iba pa
Lahat ng leksyon ng kurso
- Pengantar: Git dari Nol hingga Pengembang yang Percaya Diri
- Apa Sebenarnya Git Itu — dan Kenapa Tanpanya Sulit Dapat Kerja
- Instalasi dan Konfigurasi: Menyiapkan Git untuk Pertama Kali
- Repositori Pertama: init, add, commit dan Keajaiban Indeks
- Membaca Riwayat: log, diff, show dan Navigasi ke Masa Lalu
- Cabang: Realitas Paralel untuk Kode Anda
- Membatalkan Kesalahan: restore, reset, revert — dengan Benar dan Berbahaya
- GitHub dan Repositori Jarak Jauh: Kode Anda di Awan
- Kerja Tim: Fork, Feature Branch, dan Pull Request
- Konflik Penggabungan: Jangan Panik — Pahami dan Selesaikan
- Proses Git di Tim Nyata: Alur Kerja Mana yang Dipilih
- Alat Lanjutan: rebase, stash, cherry-pick, dan tag
- Proyek Akhir: Simulasi Pengembangan Tim Nyata