Saya benar-benar tidak pernah bisa memikirkan saat ketika saya akan menggunakan git merge
daripada git rebase
dan tidak ingin memiliki komit muncul. Apakah ada cara untuk mengkonfigurasi git agar penerusan cepat secara default? Fakta bahwa ada --ff
pilihan tampaknya menyiratkan bahwa ada jalan, tetapi sepertinya saya tidak menemukannya dalam dokumentasi.
263
merge
semua waktu untuk cabang ketika belum membuat komit dari jarak jauh mereka untuk memajukan mereka. Tampaknya cara paling sederhana dan paling aman untuk melakukan ini. Saya ingin tahu, Anda jelas memiliki use case. Mengapa Anda ingin membuat komit gabungan di mana tidak ada komit di satu sisi cabang?Jawaban:
Ya ada
--no-ff
. Anda dapat mengonfigurasi opsi gabungan per cabang, mismenambahkan yang berikut ke
$(REPO)/.git/config
file Anda :Catatan kaki: berbicara tentang pengalaman saya, saya akhirnya menemukan beralih maju-cepat ke off sebagian besar bermanfaat bagi git pendatang baru - namun begitu nuansa alur kerja dan konsep mulai meresap Anda pasti ingin menghindari mengaburkan grafik log Anda dengan berton-ton penggabungan yang tidak berguna jenis remote ..blarf 'melakukan.
Catatan kaki 2, satu dekade kemudian: jawaban lain di bawah ini menyediakan opsi konfigurasi yang lebih modern, tetapi sungguh, Anda mungkin DO ingin tetap menggunakan default (yaitu, maju-cepat bila memungkinkan) di zaman sekarang ini, karena penggabungan-komit yang kosong benar-benar hanya dilakukan membuat sejarah jauh lebih sulit untuk dipikirkan.
sumber
git pull
adalahgit fetch
+git merge
.git merge --no-ff (branchname)
? Dan saya ingingit pull
berfungsi seperti biasanya?Tampaknya masih ada pertanyaan yang menunggu di utas: Bagaimana melakukannya secara global (yaitu untuk semua cabang)? Untuk catatan, kita dapat menggunakan yang berikut ini:
... untuk membuatnya berlaku untuk semua cabang di repositori saat ini. Untuk membuatnya berlaku untuk semua cabang di semua repositori di mana seseorang belum menjalankannya tanpa
--global
opsi (pengaturan lokal menimpa global) jalankan ini:Dari dokumentasi :
sumber
merge.ff
diperkenalkan di Git 1.7.6. Itu tidak efektif di versi yang lebih lama.puff = "pull --ff --ff-only"
Membaca utas jawaban saya akhirnya menggunakan dua opsi berikut
Hanya terkait longgar, saya juga menemukan pengaturan ini menghindari masalah saat menarik
sumber