Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Git mewakili riwayat dengan cara yang pada dasarnya berbeda dari sistem kontrol versi terpusat (CVCS) seperti Team Foundation Version Control, Perforce, atau Subversion. Sistem terpusat menyimpan riwayat terpisah untuk setiap file dalam repositori. Git menyimpan riwayat sebagai grafik rekam jepret dari seluruh repositori. Rekam jejak ini, yang disebut commit di Git, dapat memiliki beberapa induk, membentuk riwayat yang terlihat seperti grafik daripada garis lurus. Perbedaan sejarah ini sangat penting dan merupakan alasan utama pengguna yang akrab dengan CVCS menemukan Git membingungkan.
Menerapkan dasar-dasar riwayat
Mulailah dengan contoh riwayat sederhana: repo dengan tiga commit linier.
Commit A adalah induk dari commit B, dan commit B adalah induk dari commit C. Riwayat ini terlihat sangat mirip dengan CVCS. Panah yang menunjuk ke commit C merupakan cabang. Cabang adalah penunjuk dari commit tertentu, itulah sebabnya percabangan sangat ringan dan mudah di Git.
Perbedaan utama dalam Git dibandingkan dengan CVCS adalah bahwa pengembang memiliki salinan lengkap repositori mereka sendiri. Mereka perlu menjaga repositori lokal mereka tetap sinkron dengan repositori jarak jauh dengan mendapatkan commit terbaru dari repositori jarak jauh. Untuk melakukan ini, mereka menarik cabang utama dengan perintah berikut:
git pull origin main
Ini menggabungkan semua perubahan dari cabang utama di repositori jarak jauh, yang dinamai origin Git secara default. Pull ini mengandung satu commit baru dan cabang utama di repositori lokal berpindah ke commit tersebut.
Memahami riwayat cabang
Sekarang saatnya untuk membuat perubahan pada kode. Biasanya memiliki beberapa cabang aktif saat mengerjakan berbagai fitur secara paralel. Ini sangat kontras dengan CVCS di mana cabang baru berat dan jarang dibuat. Langkah pertama adalah checkout ke cabang baru menggunakan perintah berikut:
git checkout -b cool-new-feature
Ini adalah pintasan yang menggabungkan dua perintah:
-
git branch cool-new-featureuntuk membuat cabang -
git checkout cool-new-featureuntuk memulai pekerjaan di cabang
cabang cool-new-feature ditambahkan sebagai fitur baru 
Dua cabang sekarang menunjuk ke penerapan yang sama. Misalkan ada beberapa perubahan pada cabang cool-new-feature dalam dua komit baru, E dan F.
Commit dijangkau oleh cabang cool-new-feature karena telah dijadikan bagian dari cabang itu.
Sekarang setelah fitur selesai, fitur tersebut perlu digabungkan ke cabang utama. Untuk melakukannya, gunakan perintah berikut:
git merge cool-new-feature main
Struktur grafik riwayat menjadi terlihat ketika ada penggabungan. Git membuat komit baru saat cabang digabungkan dengan cabang lain. Ini adalah komit penggabungan. Tidak ada perubahan yang disertakan dalam commit penggabungan ini karena tidak ada konflik. Jika ada konflik, penerapan penggabungan akan menyertakan perubahan yang diperlukan untuk mengatasinya.
Sejarah di dunia nyata
Berikut adalah contoh riwayat Git yang lebih menyerupai kode dalam pengembangan aktif di tim.
Ada tiga orang yang menggabungkan komit dari cabang mereka sendiri ke cabang main pada waktu yang bersamaan.
Langkah selanjutnya
Pelajari selengkapnya tentang bekerja dengan riwayat Git di GitHub dan Azure Repos atau Penyederhanaan riwayat log Git.