Saya memiliki struktur direktori berikut:
project/
.git/
...
app/
...
config/
initializers/
braintree.rb
environments/
production.rb
.gitattributes
Proyek saya menggunakan dua cabang utama, master dan staging, masing-masing melacak jarak jauh yang berbeda (produksi dan staging aplikasi heroku).
Idenya adalah bahwa cabang staging bergerak maju dengan fitur-fitur baru, fitur-fitur tersebut didorong dan diuji pada staging remote, kemudian master diteruskan dengan cepat untuk mencocokkan staging dan didorong ke remote produksi.
Inilah yang ingin saya lakukan: gabungkan kedua cabang ini secara bebas sambil tetap memisahkan versi braintree.rb
dan production.rb
.
Untuk mencapai hal ini, inilah yang saya masukkan ke dalam .gitattributes
(sesuai buku ProGit):
config/initializers/braintree.rb merge=ours
config/environments/production.rb merge=ours
File tersebut ada di kedua cabang.
Masalah yang saya temui adalah hal ini sepertinya tidak berpengaruh apa pun. Setiap kali saya menggabungkan keduanya, file tetap berubah dan saya harus mengubahnya lagi.
Aku merasa kehilangan sesuatu yang sangat jelas terlihat, tapi sejauh ini hal itu luput dari perhatianku. Saya tahu bahwa jawaban lain di sini melibatkan pembuatan driver penggabungan khusus, tetapi buku ProGit tidak menyebutkan proses ini dan sepertinya menyiratkan bahwa driver ours
sudah ada di dalamnya (dan saya telah melihatnya disebutkan di halaman manual, jadi saya' Saya relatif yakin itu). Satu-satunya hal lain yang dapat saya pikirkan adalah saya telah meletakkan .gitattributes
di tempat yang salah atau mengacaukan isinya, tetapi saya tidak dapat menemukan banyak informasi tentang itu. Saya sudah mencoba memindahkannya ke direktori yang sama dengan file tersebut, tetapi tidak berhasil.
Jika ada bantuan, saya menjalankan git versi 1.7.2 di OS X. Bantuan apa pun akan sangat kami hargai.