gitattributes ตั้งค่าไดรเวอร์ผสานไม่ถูกต้อง

ฉันมีโครงสร้างไดเรกทอรีดังต่อไปนี้:

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 ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก


person Luke    schedule 25.11.2011    source แหล่งที่มา
comment
ฉันสนใจมากที่จะเห็นคำตอบสำหรับคำถามนี้ ฉันมีปัญหาเกือบจะเหมือนกัน   -  person ulmangt    schedule 30.03.2012
comment
เป็นไปได้ที่ซ้ำกันของ .gitattributes & กลยุทธ์การผสานแต่ละรายการสำหรับไฟล์   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 28.04.2014


คำตอบ (1)


มีการตอบสนอง Stack Overflow ที่ยอดเยี่ยมสองประการซึ่งช่วยแก้ไขปัญหานี้:

ฉันจะบอกให้ git เลือกเวอร์ชันในเครื่องของฉันเสมอสำหรับการรวมที่ขัดแย้งกันในไฟล์ใดไฟล์หนึ่งได้อย่างไร

และ

.gitattributes & กลยุทธ์การผสานแต่ละรายการสำหรับไฟล์

ฉันขอแนะนำให้อ่านคำตอบยอดนิยมในลิงค์แรก ยาวแต่มีรายละเอียดและให้ข้อมูลดีมาก

person ulmangt    schedule 04.04.2012