ลบโฟลเดอร์ภายในเครื่องใน TFS


128

ฉันเป็นส่วนหนึ่งของโปรเจ็กต์ขนาดใหญ่ที่แมปจาก TFS ภายในโปรเจ็กต์นั้นมีโฟลเดอร์ที่ฉันทำงานเสร็จแล้ว ฉันไม่ต้องการโฟลเดอร์นั้นอีกแล้วดังนั้นฉันจึงต้องการลบสำเนาในเครื่องของฉัน ปัญหาคือ TFS ต้องการสะท้อนการเปลี่ยนแปลงและลบโฟลเดอร์ออกจากตัวควบคุมต้นทางฉันไม่ต้องการลบออกจาก TFS

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

ฉันสามารถลบโฟลเดอร์นั้นในเครื่องได้หรือไม่?


คุณสามารถให้ข้อมูลเพิ่มเติมเช่น TFS เวอร์ชันใดและ Visual Studio เวอร์ชันใดที่คุณใช้อยู่ คุณใช้เซิร์ฟเวอร์หรือพื้นที่ทำงานในพื้นที่หรือไม่?
James Reed

@JamesReed VS2008 พร้อมแพตช์ความเข้ากันได้ VS2010 และ VS2012 TFS 2012. Local workspaces (พื้นที่ทำงานแยกตามเวอร์ชัน Visual Studio)
James Barrass

คำตอบ:


278

นี่เป็นโพสต์ที่เก่ากว่า แต่เนื่องจากคำตอบเดียวที่ให้มาดูเหมือนว่า "ไม่ถูกต้องทั้งหมด" สำหรับฉันฉันจึงอยากจะตอบ: ฉันเขียนบล็อกเกี่ยวกับเรื่องนี้ (เป็นภาษาเยอรมัน) ที่นี่: blog.nils-andresen.de

หากคุณมีสำเนาในเครื่องคุณต้องการยกเลิกการดาวน์โหลดหรือยกเลิกการดาวน์โหลดดังนี้:

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

เพียงแค่คลิกขวาที่โฟลเดอร์แล้วคลิก "รับเฉพาะรุ่น" หรือ "ขั้นสูง> รับเฉพาะ Version" และระบุการแก้ไข 1

นี่คือเหตุผลจากเคล็ดลับยอดนิยม TFS ของ Martin Woodward :

... หากคุณทำ "Get Specific Version ... " บนไฟล์และเลือก Changeset 1 ไฟล์จะถูกลบในเครื่องและเซิร์ฟเวอร์จะทราบสิ่งนี้ สีของไฟล์ใน Source Control explorer จะเปลี่ยนจากสีดำเป็นสีเทาและจะมีวลี "ไม่ดาวน์โหลด" ในคอลัมน์ล่าสุด

Changeset 1 คือชุดการเปลี่ยนแปลงพิเศษบนอินสแตนซ์ Team Foundation Server ของคุณ มันถูกสร้างขึ้นเป็นส่วนหนึ่งของรูทีนการตั้งค่าและมีเพียงสิ่งเดียวนั่นคือโหนดรูท ($ /) ในโครงสร้างควบคุมต้นทางของคุณ หากคุณได้รับ Changeset 1 ในไฟล์จริงใด ๆ ไฟล์เหล่านั้นจะไม่มีอยู่ ณ เวลานั้นในระบบดังนั้นจะถูกลบในเครื่องและเซิร์ฟเวอร์จะทราบสิ่งนี้

รับรุ่นเฉพาะ - กล่องโต้ตอบ

เมื่อกระบวนการเสร็จสมบูรณ์คอลัมน์ "ล่าสุด" จะแสดง "ไม่ได้ดาวน์โหลด"

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

หลังจากนั้นไฟล์ที่เหลือในระบบไฟล์สามารถลบออกได้อย่างปลอดภัย


5
การปิดบังใช้งานได้ดีพอสมควร แต่ฉันประสบความสำเร็จมากกว่าด้วยวิธีนี้และมันง่ายกว่า
Nelson Rothermel

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

6
ดูเหมือนแฮ็คที่ดี เหตุใด MS จึงไม่สร้าง UI ที่ใช้งานง่าย เช่นคำสั่งง่ายๆ "ลบสำเนาในเครื่อง" และ "ขั้นสูง> รับเวอร์ชันเฉพาะ" ที่ฉันชอบ "รับเวอร์ชันเฉพาะ" เป็นขั้นสูงตั้งแต่เมื่อใด พวกเขาต้องมีนักพัฒนาที่โง่สุด ๆ อยู่ในบ้านหากนี่เป็นขั้นสูงสำหรับพวกเขา อย่างไรก็ตามขอบคุณสำหรับคำตอบนี้ (ฉันไม่สามารถยืน TFS [svn / git user ที่นี่])
Pawel Cioch

4
นอกจากนี้ยังใช้งานได้หากคุณลบโฟลเดอร์ในเครื่องไปแล้วและกำลังพยายามล้างสิ่งที่คุณทำ
Hutch

2
เทียบเท่าบรรทัดคำสั่ง: tf vc รับ <itemspec> / version: c1 / recursive / overwrite / force
Brain2000

8

คุณสามารถปิดบังโฟลเดอร์ในพื้นที่ทำงานในพื้นที่ของคุณ

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


4
เพียงเพื่อเพิ่มสิ่งนี้ หากต้องการกลับสู่สถานะเดิมของการแมป แต่ไม่มีการรับ (สีเทาในตัวสำรวจการควบคุมแหล่งที่มา) ให้ลบสิ่งที่เหลือจากเสื้อคลุมแล้วปลดล็อก TFS จะถามว่าคุณต้องการดำเนินการรับทันทีหรือไม่ คลิกไม่
James Barrass

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