ยอมรับการเปลี่ยนแปลงไปยังสาขาอื่นที่ไม่ใช่สาขาที่เช็คเอาต์ในปัจจุบันด้วยการโค่นล้ม


115

ฉันได้ทำการตรวจสอบโค้ดจากสายการพัฒนาและพบว่าการเปลี่ยนแปลงที่ทำอาจทำลายการเปลี่ยนแปลงและจำเป็นต้องย้ายไปยังสาขาทดลองก่อนที่จะยอมรับโครงสร้างการพัฒนาหลัก อย่างไรก็ตามฉันไม่ได้ตรวจสอบสาขาทดลองและฉันไม่ต้องการสูญเสียการเปลี่ยนแปลงที่ทำไปแล้ว

มีวิธีที่จะยอมรับการเปลี่ยนแปลงในโฟลเดอร์การทำงานไปยังสาขาอื่นนอกเหนือจากที่เช็คเอาต์ไว้หรือไม่

คำตอบ:


129

คุณควรสร้างสาขาจากที่รู้จักsourceURL(นี่คือ 'สายการพัฒนา' ของคุณที่คุณกล่าวถึงในคำถาม) ก่อน:

svn copy sourceURL branchURL

จากนั้นเปลี่ยนไปที่สาขานั้น:

svn switch branchURL

และยอมรับการเปลี่ยนแปลงของคุณ:

svn commit

56

คุณสามารถทำได้ใน TortoiseSVN เช่นนั้น:

  • คลิกขวาที่ไดเร็กทอรีที่การเปลี่ยนแปลงที่คุณต้องการแตกแขนง ต้องไม่เป็นรูทของที่เก็บน้อยกว่าที่จะซ้ำกันในลักษณะนั้น
  • เลือกTortoiseSVN -> " Branch / tag ... ";
  • ตั้งค่าเป็นURL : "svn: // host / repository / FooBar / fields / FooBarBranchName";
  • ตรวจสอบให้แน่ใจ [*] สำเนาการทำงานจะถูกเลือก เพื่อให้แน่ใจว่ามีการเปลี่ยนแปลง
  • ข้อความบันทึก : "กำลังทดลองกับแมลงวัน :)";
  • ไม่บังคับ: ทำเครื่องหมาย [*] สลับสำเนาที่ใช้งานได้เป็นสาขา / แท็กใหม่ สิ่งนี้มีประโยชน์หากคุณวางแผนที่จะทำงานในสาขาใหม่ต่อไป แม้ว่าคุณจะสามารถเปลี่ยนไปใช้ในภายหลังได้เช่นกัน
  • ลองหาปุ่มตกลง คำแนะนำ: อยู่ที่ส่วนล่างของหน้าต่างตรงกลาง

สนุก!


คุณหมายถึงอะไรโดย "ต้องไม่ใช่รูทของที่เก็บไม่ซ้ำกันในลักษณะนั้น"
thekozak

ฉันไม่แนะนำให้เลือกโฟลเดอร์รูทที่มีโฟลเดอร์ย่อยที่ไม่เกี่ยวข้องทั้งหมดซึ่งไม่ได้รับการแก้ไขในสาขา หลังจากนั้นจะง่ายต่อการรวมกิ่ง (เล็กกว่า) กลับไปที่ลำต้น
J Pollack

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

@ ikku100 ถ้าไม่มีการเปลี่ยนแปลงในซุปเปอร์โฟลเดอร์เหล่านั้นจะเป็นอย่างไร?
simpleuser

อาจเป็นเพราะผู้คนในภายหลังอาจกระทำการเปลี่ยนแปลงที่นั่น แต่ฉันเดาว่าคุณสามารถตรวจสอบการแก้ไข Superfolder ที่ถูกต้องจากนั้นชำระเงินสาขาสำหรับโฟลเดอร์ย่อย ฉันคิดว่ามันเป็นผลงานมากกว่าการทำจาก superdir
ikku100

8

คุณสามารถสร้างสาขาใหม่ได้โดยตรงจากไดเร็กทอรีการทำงานของคุณและเปลี่ยนไดเร็กทอรีการทำงานไปที่สาขานั้น

คำสั่งคือ svn copyและsvn switch

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