6
Git: วิธีที่ถูกต้องในการเปลี่ยน Active Branch ในที่เก็บเปลือยหรือไม่
ฉันมีที่เก็บเปลือยที่ใช้เป็นร้านค้าส่วนกลางสำหรับโครงการของฉัน นักพัฒนาทั้งหมดทำgit clone <repo>เพื่อแบ่งปันกับมัน เมื่อพวกเขาทำโคลนพวกเขาได้รับเช็คเอาท์สาขาต้นแบบ (ยกเว้นกรณีที่พวกเขาทำgit clone -n) เพราะrepo.git/HEADมีref: refs/heads/masterนี้ทำให้ใช้งานสาขา คำถามคือฉันจะเปลี่ยนสาขาที่ใช้งานได้อย่างถูกต้องได้อย่างไร? ฉันสามารถแฮ็คrepo.git/HEADไฟล์ได้โดยตรง แต่มันดูน่ารังเกียจและแฮ็คก็ดี ฉันพยายามทำgit checkout <otherbranch>ใน.gitไดเรกทอรีrepo แต่นั่นล้มเหลวเพราะฉันไม่ได้อยู่ในแผนผังการทำงาน ฉันพยายามgit update-ref HEAD refs/heads/otherbranchแต่ที่เพิ่งปรับปรุง refs / heads / master ให้เหมือนกับ refs / heads / otherbranch (โอเคฉันทำอันนั้นใน repository dummy ไม่ใช่ Production ของฉัน!) ฉันพยายามgit update-ref --no-deref HEAD refs/heads/otherbranchและมันก็เกือบจะได้ผล มันปรับปรุงHEADไฟล์ แต่มันตั้งค่าให้ SHA1 refs/heads/otherbranchของกระทำชี้ไปตาม 1.7.0.2.msysgit.0ผมทดสอบกับรุ่นคอมไพล์ ฉันเดาว่าไม่มีวิธีที่จะทำเช่นนี้git pushเพราะการอนุญาตให้ใครต่อใครเปลี่ยนสาขาเริ่มต้นของคุณดูเหมือนจะไม่ปลอดภัย …
195
git