ฉันจะย้ายไฟล์ (หรือโฟลเดอร์) จากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่งใน TortoiseSVN ได้อย่างไร


247

ฉันต้องการย้ายไฟล์หรือโฟลเดอร์จากที่หนึ่งไปอีกที่หนึ่งในที่เก็บเดียวกันโดยไม่ต้องใช้ Repo Browser เพื่อทำและไม่ต้องสร้างการเพิ่ม / ลบสองอย่าง การใช้ Repo Browser ทำงานได้ดียกเว้นว่าโค้ดของคุณจะค้างอยู่ในสถานะเสียจนกว่าคุณจะได้รับการตรวจสอบการเปลี่ยนแปลงในภายหลัง (เช่นไฟล์. csproj เป็นต้น)

อัปเดต: ผู้คนแนะนำ "ย้าย" จากบรรทัดคำสั่ง TortoiseSVN เทียบเท่าหรือไม่

คำตอบ:


448

หากต้องการย้ายไฟล์หรือชุดของไฟล์โดยใช้Tortoise SVNคลิกขวาแล้วลากไฟล์เป้าหมายไปยังปลายทางแล้วปล่อยปุ่มเมาส์ขวา เมนูป๊อปอัพจะมีSVN move versioned files hereตัวเลือก

โปรดทราบว่าจะต้องเพิ่มโฟลเดอร์ปลายทางลงในที่เก็บเพื่อให้SVN move versioned files hereตัวเลือกปรากฏขึ้น


32
ฉันต้องทำแบบเดียวกันและมันทำงานได้อย่างสมบูรณ์ ไม่เคยรู้เกี่ยวกับตัวเลือกนี้ ขอบคุณมาก ๆ!
DavGarcia

4
ขอบคุณ! หมายเหตุ: หลังจากนั้นจะแสดงในบันทึกการเปลี่ยนแปลงเป็นกลุ่มของไฟล์ DELETED และ ADDED และไดเรกทอรี แต่ประวัติการแก้ไขจะตามหลังไฟล์ :)
Yoh Suzuki

1
ฉันควรทำอย่างไรถ้าฉันย้ายไฟล์ไปแล้ว แต่ svn ยังคิดว่ามันอยู่ในไดเรกทอรีอื่น
Shawn Mclean

4
คุณยัง (แน่นอนใน v1.7.6) จำเป็นต้องตรวจสอบให้แน่ใจว่าไดเรกทอรีที่คุณกำลังย้ายไฟล์ถูกเพิ่มการโค่นล้มแล้ว
icc97

คำตอบในตำนานทำให้วันของฉัน!
Cyril Gandon


22

ใน Windows Explorer ด้วยปุ่มเมาส์ขวาให้คลิกและลากไฟล์จากตำแหน่งที่คุณต้องการ เมื่อปล่อยปุ่มเมาส์ขวาคุณจะเห็นเมนูบริบทพร้อมตัวเลือกเช่น "SVN Move versioned file here"

http://tortoisesvn.net/most-forgotten-feature



5

หากคุณต้องการที่จะย้ายไฟล์ไปรอบ ๆและให้ csproj ไฟล์ได้ถึงวันที่วิธีที่ง่ายที่สุดคือการใช้ปลั๊กอิน Visual Studio เช่นAnkhSVN ที่จะกระทำทั้งการกระทำย้ายโดยอัตโนมัติ (เป็นลบ + เพิ่มที่มีประวัติเพราะนั่นคือวิธีการโค่นล้มทำงาน) และการเปลี่ยนแปลงใน. csproj


4

svn mv path1 path2จากบรรทัดคำสั่งคุณสามารถพิมพ์ สิ่งนี้จะสร้างการดำเนินการเพิ่มและลบ แต่ไม่มีวิธีแก้ปัญหาดังกล่าวเท่าที่ฉันรู้ในการโค่นล้ม


3

การโค่นล้มยังไม่มีการดำเนินการเปลี่ยนชื่อชั้นหนึ่ง

มีข้อบกพร่องเกี่ยวกับปัญหาอายุ 6 ปี: http://subversion.tigris.org/issues/show_bug.cgi?id=898

กำลังได้รับการพิจารณาสำหรับ 1.6 ขณะนี้มีการเพิ่มการติดตามการผสาน (ลำดับความสำคัญสูงกว่า) (ใน 1.5)


1

ใช้คำสั่ง RENAME ของ Tortoise และพิมพ์เส้นทางที่สัมพันธ์กัน ("folder / file.ext")


0

ดังที่กล่าวไว้ก่อนหน้านี้คุณจะสร้างคำสั่งเพิ่มและลบ คุณสามารถใช้ svn move ทั้งบนสำเนาการทำงานของคุณหรือ url ที่เก็บ หากคุณใช้สำเนาการทำงานของคุณการเปลี่ยนแปลงจะไม่เกิดขึ้นคุณต้องดำเนินการแยกต่างหาก

หากคุณย้าย URL คุณจะต้องระบุ --message และการเปลี่ยนแปลงจะปรากฏในที่เก็บทันที



0

คุณต้องลากไฟล์โดยใช้ปุ่มเมาส์ขวา ช่วงเวลาที่คุณปล่อยไฟล์ไปยังปลายทางใหม่คุณจะสังเกตเห็นตัวเลือก:

SVN ย้ายไฟล์เวอร์ชันที่นี่

เพียงเลือกตัวเลือกนี้และคุณทำเสร็จแล้ว !!

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