Atlassian SourceTree: วิธีเปลี่ยนการสิ้นสุดของบรรทัดทั่วโลก


10

มีวิธีใดใน Atlassian SourceTree หรือกับโฮสต์ git ปัจจุบันของฉัน (BitBucket) เพื่อเปลี่ยนการสิ้นสุดบรรทัดทั่วโลกสำหรับที่เก็บของฉันทั้งหมด

ฉันคิดว่าพวกเขากำลังตั้งค่าเป็น Unix (ฉันคิดว่าฉันทำสิ่งนี้โดยบังเอิญ) แต่ฉันกำลังพัฒนาบน Windows เพียงอย่างเดียว IDE ของฉันให้ข้อความเตือนและข้อผิดพลาดเกี่ยวกับการลงท้ายด้วยสายผสมในไฟล์ของฉันและฉันต้องการแก้ไข แต่ทุกครั้งที่ฉันผลักโครงการของฉันไปยังคลาวด์มันจะเปลี่ยนกลับไปเป็นตอนจบ Unix พวกเขาได้รับการคืนค่าอยู่แล้ว

คำตอบ:


12

คุณสามารถกำหนดค่าการสิ้นสุดการจัดการบรรทัดต่อที่เก็บโดยการเพิ่มไฟล์. gitattributesพิเศษลงในโฟลเดอร์รูทของที่เก็บ Git ของคุณ หากไฟล์นี้ถูกคอมมิชชันให้กับที่เก็บมันจะแทนที่การตั้งค่า core.autocrlf ของผู้พัฒนาแต่ละราย

ในไฟล์นี้คุณสามารถกำหนดค่า Git ให้ตรวจจับการสิ้นสุดบรรทัดโดยอัตโนมัติ

หมายเหตุ: -เครื่องมือ Git กราฟิกไม่สนับสนุนไฟล์. gitattributes ทั้งหมดตัวอย่างเช่น Eclipse IDE ไม่รองรับในขณะนี้

นี่คือตัวอย่างไฟล์. gitattributes คุณสามารถใช้เป็นเทมเพลตสำหรับที่เก็บของคุณ:

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

คุณจะสังเกตเห็นว่าไฟล์ถูกจับคู่ - *. c, * .sln, * .png-- คั่นด้วยช่องว่างจากนั้นให้ตั้งค่า - ข้อความ, ข้อความ eol = crlf, ไบนารี เราจะทำการตั้งค่าที่เป็นไปได้ด้านล่างนี้

text = auto Git จะจัดการกับไฟล์ในวิธีที่คิดว่าดีที่สุด นี่เป็นตัวเลือกเริ่มต้นที่ดี

text eol = crlf Git จะแปลงจุดสิ้นสุดของบรรทัดเป็น CRLF เสมอเมื่อทำการเช็คเอาต์ คุณควรใช้สิ่งนี้สำหรับไฟล์ที่ต้องคงตอนจบ CRLF ไว้แม้ใน OSX หรือ Linux ตัวอย่างเช่นที่นี่เป็นโครงการ Windows ที่บังคับใช้การสิ้นสุดบรรทัด CRLF

text eol = lf Git จะแปลงจุดสิ้นสุดของบรรทัดเป็น LF เสมอเมื่อทำการเช็คเอาต์ คุณควรใช้สิ่งนี้สำหรับไฟล์ที่ต้องจบ LF เสมอแม้กระทั่งบน Windows สำหรับตัวอย่างที่นี่เป็นโครงการที่บังคับใช้ LF ตอนจบบรรทัด

ไบนารี Git จะเข้าใจว่าไฟล์ที่ระบุไม่ใช่ข้อความและไม่ควรลองเปลี่ยนมัน การตั้งค่าไบนารียังเป็นนามแฝงสำหรับ -text -diff


ลิงก์ภายนอกอาจใช้งานไม่ได้ซึ่งในกรณีนี้คำตอบของคุณจะมีค่าน้อย โปรดระบุข้อมูลที่จำเป็นในคำตอบของคุณและใช้ลิงก์สำหรับการระบุแหล่งที่มาและแหล่งข้อมูลเพิ่มเติม ขอบคุณ
fixer1234

หวังว่านี้จะรวมถึงรายละเอียดที่จำเป็น
gpullen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.