ฉันมีโครงสร้างไดเรกทอรีดังต่อไปนี้:
project/
.git/
...
app/
...
config/
initializers/
braintree.rb
environments/
production.rb
.gitattributes
โปรเจ็กต์ของฉันใช้สองสาขาหลัก ได้แก่ ต้นแบบและการแสดงละคร โดยแต่ละสาขาติดตามรีโมตที่แตกต่างกัน (แอปการผลิตและการแสดงละคร heroku)
แนวคิดก็คือสาขาการจัดเตรียมจะก้าวไปข้างหน้าด้วยคุณสมบัติใหม่ ซึ่งจะถูกผลักไปและทดสอบบนสเตจระยะไกล จากนั้นต้นแบบจะถูกกรอไปข้างหน้าอย่างรวดเร็วเพื่อให้ตรงกับการสเตจและผลักไปยังรีโมตที่ใช้งานจริง
นี่คือสิ่งที่ฉันต้องการทำ: รวมทั้งสองสาขาได้อย่างอิสระโดยแยกเวอร์ชัน braintree.rb
และ production.rb
ออกจากกัน
เพื่อให้บรรลุเป้าหมายนี้ นี่คือสิ่งที่ฉันใส่ไว้ใน .gitattributes
(ตามหนังสือ ProGit):
config/initializers/braintree.rb merge=ours
config/environments/production.rb merge=ours
ไฟล์มีอยู่ในทั้งสองสาขา
ปัญหาที่ฉันพบคือดูเหมือนว่าจะไม่มีผลกระทบใดๆ เมื่อใดก็ตามที่ฉันรวมระหว่างสองไฟล์เข้าด้วยกัน ไฟล์ก็จะเปลี่ยนไปและฉันก็ต้องเปลี่ยนมันอีกครั้ง
ฉันรู้สึกว่าฉันพลาดบางสิ่งบางอย่างที่ชัดเจนอย่างน่ากลัวไป แต่จนถึงตอนนี้มันก็ยังหนีฉันไปอยู่ ฉันรู้ว่าคำตอบอื่น ๆ ที่นี่เกี่ยวข้องกับการสร้างไดรเวอร์ผสานแบบกำหนดเอง แต่หนังสือ ProGit ไม่ได้กล่าวถึงกระบวนการนี้และดูเหมือนว่าจะบอกเป็นนัยว่ามีไดรเวอร์ ours
ในตัว (และฉันได้เห็นมันกล่าวถึงในหน้า man ดังนั้นฉันจึง ' ค่อนข้างแน่ใจว่าเป็นเช่นนั้น) สิ่งเดียวที่ฉันคิดได้คือฉันใส่ .gitattributes
ผิดที่หรือทำให้เนื้อหายุ่งเหยิง แต่ฉันไม่พบข้อมูลมากนักเกี่ยวกับเรื่องนั้น ฉันได้ลองย้ายมันไปยังไดเร็กทอรีเดียวกันกับไฟล์ต่างๆ แต่ก็ไม่มีประโยชน์
ในกรณีที่มีความช่วยเหลือใด ๆ ฉันกำลังใช้งาน git เวอร์ชัน 1.7.2 บน OS X ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก