ฉันจะลบโฟลเดอร์ออกจากการควบคุมแหล่งที่มาด้วย TortoiseSVN ได้อย่างไร


129

ฉันจะลบโฟลเดอร์ออกจากการเป็นแหล่งที่มาที่ควบคุมด้วยTortoiseSVN ได้อย่างไร


10
คำถามที่ดี. มันซับซ้อนอย่างน่าขันสำหรับสิ่งที่ควรจะเป็นงานง่ายๆ
— Paul Suart

หมายเหตุสำหรับใครก็ตามที่ใช้ "SVN Update to revision" (แทนที่จะใช้ svn checkout): ลองใช้ SVN Update เพื่อแก้ไขอีกครั้ง แต่คราวนี้ตั้งค่า Update Depth เป็น Exclude
— Wallace Brown

คุณสามารถลบ.svnโฟลเดอร์ที่เกี่ยวข้องได้
— ahmednabil88

ฉันสงสัยมาตลอดว่าบน Windows / Tortoise เป็นเรื่องปกติหรือไม่ที่จะลบโฟลเดอร์ในเครื่องบนพีซีได้อย่างง่ายดาย ดังนั้นจึงมี repo REPO บนเซิร์ฟเวอร์ของคุณ และคุณมีเวอร์ชันนั้นอยู่บนพีซี LOCALFOLDER คุณไม่จำเป็นต้องใช้เวอร์ชันท้องถิ่นบนพีซีเครื่องนั้นอีกต่อไป ในกรณีนี้ฉันเพียงแค่ลบโฟลเดอร์ LOCALFOLDER บนพีซี (ฉันไม่ได้ทำอะไรเลยจากเมนู Tortoise ก่อนทิ้ง LOCALFOLDER ในถังขยะ) เพื่อความชัดเจนฉันไม่ต้องการส่งผลกระทบต่อ REPO แต่อย่างใด - ฉันไม่ต้องการ / ต้องการรุ่น LOCALFOLDER อีกต่อไป ฉันสงสัยมาตลอดว่าการทำเช่นนี้ทำได้หรือไม่?
— Fattie

หรือ Tortoise จะเก็บ "อย่างอื่น" ไว้ที่ไหนสักแห่งบนพีซีเพื่อที่จากนั้น Tortoise จะรู้สึกว่า LOCALFOLDER หายไป ??
— Fattie

คำตอบ:


56

มีรายการเฉพาะในเมนูบริบทเพิ่มเติม:

  • กดShiftปุ่มค้างไว้แล้วคลิกขวาที่โฟลเดอร์
  • ภายใต้เมนู TortoiseSVN คลิกที่ "ลบ (เก็บในเครื่อง)"

ป้อนคำอธิบายภาพที่นี่

ภาพที่ตัดมาจากหน้าเมนูบริบทเพิ่มเติมของ TortoiseSVN
ลบการแจ้งเตือนเอกสาร (เก็บในเครื่อง)


4
จริงๆแล้วนั่นคือ CTRL + SHIFT เมื่อคลิกขวาที่โฟลเดอร์ Come-on Stackoverflow เหตุใดฉันจึงพบคำตอบนี้ที่ด้านล่าง
— hollystyles

4
พวกคุณใช้เวอร์ชั่นไหน? เวอร์ชัน 1.6.12 ไม่มีตัวเลือกลบ (เก็บไว้ในเครื่อง) ทั้ง Shift หรือ CTRL + Shift ไม่ช่วย
— thehhv

1
ฉันเพิ่งตรวจสอบอีกครั้งและเพียงแค่ Shift + คลิกขวาก็ใช้ได้สำหรับฉัน @thehhv เวอร์ชัน 1.6.10 ยังคงมีตัวเลือก
— bob esponja

1
คำตอบที่ยอดเยี่ยม Shift + click ใช้งานได้กับ 1.6.10 หลังจากทำสิ่งนี้คุณจะยังคงต้องคอมมิตไฟล์เพื่อให้เห็นว่าไฟล์หายไปจาก repo ระยะไกล
— hotshot309

2
สิ่งนี้ควรถูกระบุว่าเป็นคำตอบเนื่องจากเป็นวิธีที่ง่ายที่สุดในการใช้ TortoiseSVN
— alejosoft

176

วิธีที่ง่ายที่สุดอธิบายไว้ที่นี่: http://tortoisesvn.net/unversion.html

บทความนั้นค่อนข้างซับซ้อนและวิธีการบางอย่างไม่ได้ผลสำหรับฉัน (เช่นการลากโฟลเดอร์เข้าสู่ตัวเอง - Windows 7 ไม่อนุญาต))

นี่คือสิ่งที่ในบทความได้ผลสำหรับฉัน:

ง่าย: เมื่อคุณคลิกขวาที่สำเนาที่ใช้งานได้และเลือก " ส่งออก ... " จากเมนูบริบทกล่องโต้ตอบการเรียกดูโฟลเดอร์จะปรากฏขึ้นซึ่งคุณสามารถเลือกโฟลเดอร์ที่คุณต้องการส่งออกสำเนาที่ใช้งานได้ หากตอนนี้คุณเลือกเส้นทางเดียวกับ ที่สำเนางานของคุณเปิดอยู่เป็นเป้าหมาย (กล่าวคือคุณกำลังส่งออกสำเนาที่ใช้งานไปยังตัวมันเอง) TortoiseSVN จะลบโฟลเดอร์. svn ทั้งหมดของสำเนาการทำงานนั้นออก


3
Stefan ฉันลองทำตามขั้นตอนที่คุณอธิบายแล้ว TSVN แสดงกล่องโต้ตอบ "Unversion" ให้ฉันเห็น (พร้อมแถบความคืบหน้าแสดงความคืบหน้า) แต่หลังจากเสร็จสิ้นกระบวนการโฟลเดอร์จะเหมือนเดิม ฉันมี Win7 และโฟลเดอร์อยู่ในเครือข่ายแชร์ - อาจมีส่วนเกี่ยวข้องกับขั้นตอนที่ล้มเหลว (เงียบ ๆ ) หรือไม่ (+1 ต่อไปเพราะขั้นตอนนี้เป็นสิ่งที่ฉันต้องการ)
— Heinrich Ulbricht

มันไม่ควรล้มเหลวอย่างเงียบ ๆ แน่ใจหรือว่ายังมีโฟลเดอร์. svn ที่ซ่อนอยู่
— Stefan

ใช่ฉันเห็นพวกเขา ปัญหาเดิมของฉันคือฉันต้องการกำจัดไดเร็กทอรีที่เช็คเอาต์ทั้งหมด (รวมถึงไดเร็กทอรีย่อย) ในการแชร์เครือข่าย สิ่งนี้ล้มเหลวเนื่องจาก windows แจ้งว่ามีคนใช้ไฟล์ ดังนั้นฉันคิดว่ามันอาจเป็นแคช svn และด้วยการใช้วิธีการจาก TSVN-world ฉันสามารถแก้ปัญหาการเข้าถึงนี้ได้ แต่ไม่มีโชค :(
— Heinrich Ulbricht

1
เพื่อป้องกันไม่ให้ต้องไปตามลิงค์ขั้นตอนนี้จะถูกทำซ้ำที่นี่: ง่าย: เมื่อคุณคลิกขวาที่สำเนาที่ใช้งานได้และเลือก "ส่งออก ... " จากเมนูบริบทกล่องโต้ตอบการเรียกดูโฟลเดอร์จะปรากฏขึ้นซึ่งคุณสามารถเลือก โฟลเดอร์ที่คุณต้องการให้สำเนาการทำงานส่งออกไป หากตอนนี้คุณเลือกเส้นทางเดียวกับที่สำเนางานของคุณเปิดอยู่เป็นเป้าหมาย (กล่าวคือคุณกำลังส่งออกสำเนาที่ใช้งานไปยังตัวมันเอง) TortoiseSVN จะลบโฟลเดอร์. svn ทั้งหมดของสำเนาการทำงานนั้นออก
— Charley Rathkopf

เมื่อฉันลองสิ่งนี้ฉันเริ่มได้รับข้อผิดพลาดว่าไดเร็กทอรีที่ฉันส่งออกไปนั้นตอนนี้ "ไม่ใช่ไดเร็กทอรีที่ใช้งานได้" และมัน "ถูกขัดขวาง" และฉันควร Cleanup แต่เมื่อฉันลอง (IIRC) ฉันได้รับข้อผิดพลาดว่า ไดเรกทอรีรากถูกล็อก ในที่สุดฉันก็ทำการ MOVE (ลากโฟลเดอร์ไปยังโฟลเดอร์ที่ไม่ใช่ SVN และจากเมนูแบบเลื่อนลงให้เลือก "ส่งออก ... ") จากนั้นคลิก Delete (ทั้งสองอย่างกับ Tortoise)
— Clay Nichols

12

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

  1. สร้างข้อมูลสำรองของโฟลเดอร์ (เพียงแค่คัดลอกที่อื่น)
  2. ทำตามคำแนะนำในการลบ
  3. กู้คืนโฟลเดอร์
  4. บอกการโค่นล้มเพื่อ "ละเว้น" โฟลเดอร์

คุณควรลบ.svnไดเร็กทอรีที่เริ่มต้นในโฟลเดอร์ที่คุณกำลังลบไม่เช่นนั้นคุณจะต้องสับสนกับ svn / tortoise นอกจากนี้คุณยังสามารถ "ส่งออก" สำหรับขั้นตอนที่ 1 ซึ่งจะลบ.svnไดเรกทอรีใด ๆให้คุณ (หากคุณทำสิ่งนี้กับแผนผังไดเรกทอรีทั้งหมดแทนที่จะเป็นไดเรกทอรีเดียวจะสะดวกกว่าการล้างโฟลเดอร์ด้วยมือ) .


1
สำหรับ (1) คุณสามารถส่งออกเพื่อกำจัดข้อมูล SVN ของสำเนา
— dahlbyk

ถูกต้อง - คุณต้องลบมันผ่าน TortoiseSVN กู้คืนแล้วลบโฟลเดอร์ svn ทั้งหมดที่อยู่ในนั้น (รวมถึงไฟล์ .version)
— โอกาส

* แล้วเพิกเฉย - มันใช้งานได้เหมือนมีเสน่ห์ (ขอบคุณ)
— โอกาส

สำหรับฉันแค่ส่งออกมันก็กำจัดที่เก็บ SVN และเครื่องหมายถูกสีเขียวบนโฟลเดอร์ที่ฉันต้องการ
— Hammad Khan

7

เมนู TortoiseSVN มีตัวเลือกการส่งออกซึ่งจะให้สำเนาของโฟลเดอร์ที่แยกออกจากที่เก็บ หรือคุณสามารถคลิกขวา + ลากโฟลเดอร์แล้วเลือก "SVN Export to here" หรือ "SVN Export all to here"

"ส่งออกทั้งหมด" จะเทียบเท่ากับการเลือก "ส่งออกไฟล์ที่ไม่ได้เวอร์ชันด้วย" ในกล่องโต้ตอบการส่งออกซึ่งจะทำการโคลนสำเนาที่ใช้งานได้อย่างมีประสิทธิภาพโดยไม่มีโฟลเดอร์. svn


6

คุณคลิกขวาที่ไดเรกทอรีไปTortoiseSVN -> ลบ จากนั้นคลิกขวาที่ไดเร็กทอรีหลักและSVN Commit ...และนั่นจะเป็นการลบโฟลเดอร์


2
การดำเนินการนี้จะลบโฟลเดอร์ด้วย
— tunnuz

นี่คือคำตอบที่ฉันกำลังมองหา ... ฉันพบที่นี่ด้วย: tortoisesvn.net/docs/release/TortoiseSVN_en/…
— Highly Irregular

2

Windows Search ตั้งค่าแฟล็กระบบและไฟล์ที่ซ่อน ... ชื่อไฟล์ ".svn" ... หลังจากค้นหา - จัดเรียงเพื่อให้ไดเรกทอรี. svn ทั้งหมดถูกจัดกลุ่มเข้าด้วยกัน ... เน้น - กดลบ :)


2

ฉันรันคำสั่งเต่า "อัปเดตเป็น SVN 1.7" ซึ่งเอาโฟลเดอร์. svn ทั้งหมดมารวมไว้ในโฟลเดอร์เดียว จากนั้นฉันก็สามารถลบโฟลเดอร์. svn ได้เพียงโฟลเดอร์เดียวและทุกอย่างก็เรียบร้อยดี!


2

ฉันเห็นว่ามีวิธีง่ายๆสามวิธีในการเปิดใช้งานและเก็บไฟล์เวอร์ชันโลคัล (หรือไดเร็กทอรี) ไว้กับ TortoiseSVN:

  1. ส่งออกในเส้นทางเดียวกับที่Stefan เขียน ;
  2. "ลบ (เก็บในเครื่อง)" ฟังก์ชั่นที่เข้าถึงด้วยปุ่ม Shift เป็นคำตอบของ Bob esponja ;
  3. การยกเลิกและเพิ่มเพื่อละเว้นรายการตัวเลือกที่ฉันรายงานพร้อมคำตอบนี้

ฉันพบว่าวิธีหลังง่ายที่สุดในสามวิธีในขณะที่วิธีแรก (ได้รับการโหวตมากที่สุด) ยาวนานที่สุดในแง่ของการดำเนินการ


2

ลบโฟลเดอร์. svn ภายในโฟลเดอร์ที่คุณต้องการลบออกจากการควบคุมเวอร์ชัน


1

นี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน:

  1. คลิกขวาที่โฟลเดอร์ / สาขาที่คุณต้องการลบและใช้ TortoiseSNV-> Delete
  2. ทำการล้างข้อมูล ฉันทำสิ่งนี้จากบรรทัดคำสั่งsvn cleanup <path to the folder to delete including folder name>; มิฉะนั้นคุณสามารถคลิกขวาที่โฟลเดอร์และทำการล้างข้อมูล
  3. ไปที่ไดเร็กทอรีหลักของโฟลเดอร์ที่คุณต้องการลบและยอมรับการเปลี่ยนแปลง

สิ่งนี้ควรลบโฟลเดอร์ออกจากไดเร็กทอรีการทำงานของคุณและจาก Subversion


1

การส่งออกโฟลเดอร์ไปยังตำแหน่งใหม่ในขณะที่ตัวเลือก "ส่งออกไฟล์ที่ไม่ได้เวอร์ชันไปยัง" นั้นใช้ได้ผลดีสำหรับฉัน TortoiseSVN ลบการตั้งค่าเฉพาะของ Subversion ทั้งหมดและคุณจะได้โฟลเดอร์ที่สะอาด ตอนนี้คุณสามารถลบไฟล์ต้นฉบับและย้ายโฟลเดอร์ที่ส่งออกใหม่ไปที่นั่น


0

เมื่อสักครู่ฉันพบโฟลเดอร์สำเนาที่ใช้งานได้จากการโค่นล้มที่ฉันรู้ว่าต้องการอีกต่อไปภายใต้การควบคุมเวอร์ชัน ฉันต้องการ "ยกเลิก" พวกเขา โดยปกติฉันจะค้นหาและลบบางอย่างในโฟลเดอร์ที่เกี่ยวข้องกับ. svn แต่มีวิธีที่ง่ายกว่าถ้าคุณติดตั้ง TortoiseSVN

คุณควรคุ้นเคยกับคำสั่ง“ ส่งออก” สิ่งนี้จะทำสำเนาไฟล์ในตำแหน่งใหม่โดยไม่มีโฟลเดอร์. svn ที่น่ารำคาญเหล่านั้น หากคุณต้องการ "ยกเลิกการแปลง" บางสิ่ง แต่ไม่ต้องการสำเนาเพียงแค่ทำการ "ส่งออก" และเมื่อ Tortoise ขอ "โฟลเดอร์ที่จะส่งออกไป" เพียงแค่เลือกโฟลเดอร์เดียวกับที่คุณมีสำเนางานอยู่! Tortoise จะดำเนินการลบโฟลเดอร์. svn ทั้งหมด

ข้อความอ้างอิง: http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/


-1

คลิกขวาที่สำเนาที่ใช้งานได้แล้วเลือก "ส่งออก ... " จากเมนูบริบท กล่องโต้ตอบเรียกดูโฟลเดอร์จะปรากฏขึ้น

คุณต้องเลือกเส้นทางเดียวกับที่สำเนาการทำงานของคุณอยู่ในเป้าหมาย TortoiseSVN จะถามคุณว่าคุณต้องการลบโฟลเดอร์. svn ทั้งหมดของสำเนาที่ใช้งานได้หรือไม่ แค่บอกว่าใช่!

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