ฉันจะลบโฟลเดอร์ออกจากการควบคุมแหล่งที่มาด้วย 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.