ฉันได้ตรวจสอบพื้นที่เก็บข้อมูล svn โดยใช้ git svn ตอนนี้ฉันต้องชำระเงินหนึ่งในสาขาและติดตาม วิธีไหนดีที่สุดที่จะทำ
ฉันได้ตรวจสอบพื้นที่เก็บข้อมูล svn โดยใช้ git svn ตอนนี้ฉันต้องชำระเงินหนึ่งในสาขาและติดตาม วิธีไหนดีที่สุดที่จะทำ
คำตอบ:
สร้างโคลนคอมไพล์ของที่มีลำต้นการโค่นล้มแท็กและสาขาด้วย
git svn clone http://svn.example.com/project -T trunk -b branch -t แท็ก
--stdlayout
ตัวเลือกที่เป็นทางลัดที่ดีถ้าพื้นที่เก็บข้อมูลการโค่นล้มของคุณใช้โครงสร้างทั่วไป:
git svn clone http://svn.example.com/project --stdlayout
ทำให้ที่เก็บ git ของคุณเพิกเฉยต่อทุกสิ่งที่ repo การโค่นล้มทำ:
git svn แสดง - ละเว้น >> .git / ข้อมูล / ไม่รวม
ตอนนี้คุณควรจะเห็นการโค่นล้มสาขาทั้งหมดที่ด้าน git:
git branch -r
waldo
พูดชื่อของสาขาในการโค่นล้มเป็น ในด้านคอมไพล์คุณจะต้องวิ่ง
git checkout -b waldo-svn รีโมท / waldo
ส่วนต่อท้าย -svn คือการหลีกเลี่ยงคำเตือนของแบบฟอร์ม
คำเตือน: refname 'waldo' ไม่ชัดเจน
หากต้องการอัปเดตสาขา git waldo-svn
ให้เรียกใช้
git checkout waldo-svn git svn rebase
หากต้องการเพิ่มสาขาการโค่นล้มลงในโคลนแบบ trunk-only ให้แก้ไขที่เก็บ git ของคุณ.git/config
เพื่อบรรจุ
[svn-remote "svn-mybranch"] url = http://svn.example.com/project/branches/mybranch fetch =: refs / remotes / mybranch
คุณจะต้องพัฒนานิสัยการวิ่ง
git svn fetch --fetch-all
เพื่ออัปเดตสิ่งที่git svn
คิดว่าเป็นรีโมตแยกทั้งหมด ณ จุดนี้คุณสามารถสร้างและติดตามสาขาดังกล่าวได้ ตัวอย่างเช่นหากต้องการสร้างสาขา git ที่สอดคล้องกับ mybranch ให้รัน
git checkout -b mybranch-svn รีโมต / mybranch
สำหรับสาขาที่คุณตั้งใจจะgit svn dcommit
รักษาประวัติของพวกเขาเป็นเส้นตรง!
--prefix=svn/
เมื่อทำgit-svn init
หรือgit-svn clone
) สิ่งนี้จะช่วยลดความจำเป็นในการเพิ่มคำต่อท้ายในสาขาท้องถิ่นของคุณ
show-ignore
ข้อผิดพลาดลองgit svn show-ignore -i trunk