Three-Way Merge
Termasuk bagian Kontrol Versi dalam perjalanan Terminal di Coddy. Pelajaran 36 dari 58.
Jika kedua cabang telah bergerak secara mandiri, Git tidak bisa langsung melakukan fast-forward. Sebagai gantinya, Git melakukan penggabungan tiga arah: Git melihat leluhur bersama dan ujung kedua cabang, lalu menghasilkan commit baru yang menggabungkan keduanya.
Commit baru ini adalah merge commit. Commit ini memiliki dua parent, satu dari setiap branch:
git switch main
git merge feature -m "Merge feature"Flag -m memberikan pesan merge commit secara langsung, sehingga Git tidak membuka editor.
Sebagian besar waktu, Git dapat menggabungkan perubahan dari kedua cabang secara otomatis, selama perubahan tersebut menyentuh bagian file yang berbeda. Konflik hanya terjadi ketika kedua cabang mengubah baris yang sama. Hal ini akan dibahas dalam pelajaran berikutnya.
Tantangan
SedangKamu memulai di folder baru dengan top.txt (konten: a) dan bottom.txt (konten: b).
Inisialisasi repo, buat commit pertama, lalu:
- Buat branch
featuredan tambahkan barisaddedketop.txt; commit. - Beralih ke
maindan tambahkan barisaddedkebottom.txt; commit. - Merge
featurekemaindengan pesanMerge feature.
Cetak jumlah commit yang dapat dijangkau dari HEAD menggunakan git rev-list --count HEAD. Jumlah yang diharapkan adalah 4 (awal + feature + main + merge).
Coba sendiri
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Kontrol Versi
5Mengabaikan file
Mengapa Mengabaikan filePola GitignorePeriksa Aturan PengabaianRingkasan: Repositori Bersih8Merging
Apa Itu MergeFast-Forward MergeThree-Way MergeKonflik MergeSelesaikan KonflikRangkuman: Master Merge3Melacak Perubahan
Area StagingGit AddGit CommitMengubah File yang DilacakGit LogRingkasan, Commit Pertama6Proyek Situs Resep
Gambaran Umum ProyekInisialisasi dan AbaikanLatihan sendiri: Playground Terminal