Saya baru saja mulai menggunakan GIT dan menurut saya luar biasa, namun saya agak bingung tentang apa yang dilakukan merge
perintah tersebut.
Katakanlah kita memiliki proyek yang bekerja di cabang "A".
Saya pulang dan membuat perubahan pada cabang ini dan menyimpannya sebagai "B". Programmer lain membuat perubahan ke "A" dan menyimpannya sebagai "C".
Apakah ada cara untuk menggabungkan dua cabang "B" dan "C" bersama-sama, lalu mengkomit perubahan sebagai cabang baru, katakan "D"?
Atau saya kehilangan inti dari 'merge'?
Jawaban:
merge
digunakan untuk menyatukan dua (atau lebih) cabang.sedikit contoh:
jadi sekarang ada tiga cabang terpisah (yaitu AB dan C) dengan kepala berbeda
untuk mendapatkan perubahan dari B dan C kembali ke A, checkout A (sudah dilakukan dalam contoh ini) lalu gunakan perintah merge:
riwayat Anda akan terlihat seperti ini:
jika Anda ingin menggabungkan lintas repositori / batas komputer, lihat
git pull
perintahnya, misalnya dari pc dengan cabang A (contoh ini akan membuat dua komit baru):sumber
git add conflicting_files
dan kemudiangit commit
Jika Anda ingin menggabungkan perubahan di SubBranch ke MainBranch
git checkout MainBranch
git merge SubBranch
sumber
Kasus: Jika Anda perlu mengabaikan komit gabungan yang dibuat secara default , ikuti langkah-langkah berikut.
Katakanlah, cabang fitur baru diperiksa dari master yang sudah memiliki 2 komit,
Checkout a new feature_branch
Cabang fitur kemudian menambahkan dua komit ->
Sekarang jika Anda ingin menggabungkan perubahan feature_branch ke master, lakukan
git merge feature_branch
duduk di master.Ini akan menambahkan semua komit ke dalam cabang master (4 di master + 2 di feature_branch = total 6) + komit tambahan melakukan sesuatu seperti
'Merge branch 'feature_branch'
'saat master terpecah .Jika Anda benar-benar perlu mengabaikan komit ini (yang dibuat di FB) dan menambahkan seluruh perubahan yang dibuat di feature_branch sebagai komit tunggal seperti
'Integrated feature branch changes into master'
, Jalankangit merge feature_merge --no-commit
.Dengan --no-commit, ini melakukan penggabungan dan berhenti sebelum membuat komit gabungan, Kita akan memiliki semua perubahan yang ditambahkan di cabang fitur sekarang di master dan mendapatkan kesempatan untuk membuat komit baru sebagai milik kita.
Baca lebih lanjut di sini: https://git-scm.com/docs/git-merge
sumber