การแก้ปัญหา
โปรแกรมปรับปรุงสำหรับการปรับปรุง Microsoft Visual Studio 2013 4 (KB3023304) ดาวน์โหลดการปรับปรุงสำหรับ Microsoft Visual Studio 2013 การอัพเด 4 เพื่อแก้ไขปัญหาที่เกิดใน Git
สำหรับทีม Foundation Server (TFS), ปฏิเสธการแก้ไขใด ๆ ผลักดัน (อัปโหลด) ที่ประกอบด้วยส่วนประกอบแฟ้มหรือเส้นทางที่ตรงกับ "สตริ.git ซึ่งป้องกันไม่ให้ใส่แฟ้มที่ไม่ถูกต้องลงในโฮสต์ repos
สำหรับไคลเอนต์ Visual Studio, fix ป้องกันไม่ให้แฟ้มถูกเช็คเอาท์ไปยังไดเรกทอรี.git ซึ่งในทางกลับ ป้องกัน repos ที่ประกอบด้วยแฟ้มที่ไม่ถูกต้องมีผลกระทบต่อผู้ใช้ภายในคอมพิวเตอร์การตัดสินค้าจากคลังใน Git
นี่เป็นประเด็นที่ manifests ข้ามระบบแวดล้อม Git และที่ไม่ใช่เฉพาะไปยังฝ่ายสนับสนุนของ Microsoft สำหรับเก็บข้อมูล Git ในแพลตฟอร์มการพัฒนาของเรา อย่างไรก็ตาม เราทำขั้นตอนที่สำคัญ ชอัตโนมัติเพื่อช่วยให้แน่ใจว่า ลูกค้าของ Microsoft ที่ใช้เก็บข้อมูล Git จะได้รับการป้องกันโดยเทียบกับการตัดสินค้าจากคลังนี้
ปัญหาที่มีผลกระทบต่อไคลเอ็นต์ Git ทั้งหมดถูกค้นพบ โดยที่ maintainers Git หลัก การตัดสินค้าจากคลังสำหรับบทนำของแฟ้มลงใน repo Git ได้ ตั้งชื่อแฟ้มในลักษณะว่า เมื่อผู้ใช้ดาวน์โหลดการเปลี่ยนแปลงในเก็บระยะไกล แฟ้ม crafted เป็นพิเศษอาจอยู่เบื้องหลังแทนแฟ้มการกำหนดค่าของผู้ใช้ แฟ้มการกำหนดค่าของผู้ใช้ที่อยู่ภายนอกเก็บ ด้วยการแทนแฟ้มนี้กับแฟ้มไม่ถูกต้อง คำสั่ง git สามารถถูกตขนานบนเครื่องแล้วเพื่อที่จะดำเนินการคำสั่งที่กำหนดที่รันภายใต้ข้อมูลประจำตัวของผู้ใช้Visual Studio 2013 และ Visual Studio TFS 2013 จะไม่โดยตรงผลกระทบจากปัญหานี้ Visual Studio และ TFS ไม่ดำเนินการคำสั่งที่กำหนดจากข้อมูลเมตา.git อย่างไรก็ตาม การเช็คเอาท์ repo ที่ประกอบด้วยแฟ้ม crafted เป็นพิเศษอาจทำให้ Visual Studio เมื่อต้องการเขียนทับส่วนของข้อมูลเมตา.git ทำเครื่องมือบรรทัดคำสั่ง Git สำหรับ Windows สำหรับการตัดสินค้าจากคลัง มีการปรับปรุง TFS ถูกวางเพื่อป้องกันการแพร่กระจายของปัญหานี้
สาเหตุ
แต่ละฐานข้อมูล Git ท้องถิ่นถูกรักษาไว้บนดิสก์ในโฟลเดอร์รากของ repo ในไดเรกทอรีที่ซ่อนไว้.git เมื่อแฟ้มถูกเช็คเอาท์ (ตัวอย่างเช่น วางบนดิสก์ภายในเครื่องหลังจากดาวน์โหลด) แฟ้มที่มีชื่อว่า " GIT/config ถูกวางไว้ภายในฐานข้อมูล Git การเปรียบเทียบสำหรับ ".git รับผิดชอบบางส่วนสำหรับปัญหานี้ นอกจากนี้ ดำเนินการสะสมของเส้นทางแฟ้มบนแพลตฟอร์ม Windows ขยายออกตามรูปแบบแฟ้มที่ได้รับผลกระทบมากมายเพิ่มเติมมากกว่าที่มีชื่ออย่างชัดเจน " รูปแบบ GIT/กำหนด ค่า
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"