ฉันใช้ Team Foundation Server 2010 กับ Visual Studio 2010
เมื่อใดก็ตามที่ฉันแก้ไขไฟล์ภายนอก Visual Studio ดูเหมือนว่า TFS จะตรวจไม่พบการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์ดังนั้นจึงไม่มีตัวเลือกให้ฉันเช็คอินไฟล์หลังจากที่แก้ไขแล้ว
จะแก้ไขได้อย่างไร?
ฉันใช้ Team Foundation Server 2010 กับ Visual Studio 2010
เมื่อใดก็ตามที่ฉันแก้ไขไฟล์ภายนอก Visual Studio ดูเหมือนว่า TFS จะตรวจไม่พบการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์ดังนั้นจึงไม่มีตัวเลือกให้ฉันเช็คอินไฟล์หลังจากที่แก้ไขแล้ว
จะแก้ไขได้อย่างไร?
คำตอบ:
หากคุณมีการเชื่อมต่อเครือข่ายกับเซิร์ฟเวอร์ของคุณในขณะที่คุณทำงานนอก Visual Studio คุณควรดำเนินการต่อและตรวจสอบไฟล์ก่อนแก้ไขโดยใช้ไคลเอนต์บรรทัดคำสั่ง tf หรือใช้การรวมเชลล์ Windows Explorer ที่มีอยู่ในเครื่องมือ TFS พลังงานปล่อย (รวมถึงเครื่องมืออื่น ๆ ที่เพิ่มขึ้นมีการรวม TFS ที่ทำให้สิ่งนี้เป็นไปโดยอัตโนมัติ แต่ถ้าคุณแค่ใช้ notepad ก็ยังต้องเป็นขั้นตอนด้วยตนเอง)
แน่นอนว่ามีหลายครั้งที่คุณกำลังทำงานและคุณไม่มีการเชื่อมต่อเครือข่ายที่ช่วยให้คุณตรวจสอบไฟล์ได้
หากคุณทราบว่าคุณได้แก้ไขไฟล์ใดคุณสามารถตรวจสอบได้จากภายใน Visual Studio จากนั้นคุณจะสามารถกลับมาตรวจสอบได้
หากคุณไม่ทราบว่าคุณได้แก้ไขไฟล์ใดคุณสามารถตรวจจับการเปลี่ยนแปลงได้โดยการเรียกใช้tfpt online
คำสั่ง (ซึ่งเป็นส่วนหนึ่งของรุ่น Power Tools) สิ่งนี้จะค้นหาไฟล์ที่ได้รับการแก้ไขในเครื่องและตรวจสอบไฟล์เหล่านี้จากเซิร์ฟเวอร์
TFS มีคำสั่ง "Reconcile" สำหรับสิ่งนี้:
ดูเพิ่มเติม: กระทบยอดความแตกต่างระหว่างโฟลเดอร์
สิ่งนี้ใช้ได้ผลสำหรับฉันโดยใช้ TFS Power Tools:
tfpt online /adds /deletes /diff /noprompt /recursive directory-name
(โดยที่ชื่อไดเร็กทอรีคือพา ธ ไปยังไดเร็กทอรีที่จะอัพเดตมิฉะนั้นจะตรวจพบการเปลี่ยนแปลงทั่วทั้งที่เก็บ TFS ของคุณ)
หากคุณต้องการทราบว่าจะทำอย่างไรโดยที่ไม่ได้ทำการเปลี่ยนแปลงใด ๆ จริงๆคุณสามารถบังคับให้ดำเนินการแบบแห้งได้โดยการเพิ่ม/preview
สวิตช์
/exclude:fld_name/*,filename
สวิตช์ที่สามารถใช้สำหรับการยกเว้นไฟล์ที่ไม่ต้องการ.. ที่ทำให้ฉันหยุดลงมาก
tfpt online /deletes /noprompt /recursive directory-name
และมีไฟล์เป็นพันไฟล์ที่จะถูก `เปลี่ยนแปลง 'ดังนั้นต้องเลิกทำ แต่ฉันไม่เคยสัมผัสสิ่งเหล่านี้เลยเพียงแค่ลบโฟลเดอร์
*1- make changes outside of Visual Studio
2- go to Visual Studio and open Source Control Explorer
3- right click on the folder > "Check Out for Edit" > "Check Out"
4- right click on the same folder > "Undo Pending Changes..." > "Undo changes" > "No to All"*
ฉันทดสอบวิธีแก้ปัญหานี้กับสาขาและมันช่วยฉันได้มาก แต่มีเพียงไฟล์ใหม่และโฟลเดอร์ใหม่ที่ต้องดำเนินการด้วยตนเอง
ฉันแนะนำให้สร้างสาขาก่อนการดำเนินการ มันแยกคุณเวลาของการดำเนินการ
หมายเหตุ: เทคนิคนี้ยังใช้การล้างไฟล์ที่เหมือนกันซึ่ง TFS จะทำเครื่องหมายว่าแก้ไขเสมอ
ลองทำตามนี้ เป็นวิธีแก้ปัญหาบางอย่าง แต่ใช้งานได้:
แค่นั้นแหละ. การเปลี่ยนแปลงสามารถมองเห็นได้แล้ว
นอกจากนี้ยังมีวิธีอื่นในการรับ TFS เพื่อค้นหาไฟล์ที่มีการเปลี่ยนแปลงภายนอก Visual Studio:
TFS จะสแกนโซลูชันโดยอัตโนมัติสำหรับการเปลี่ยนแปลงหลังจากนี้
ขั้นตอนที่หนึ่งสามารถทำได้หลายวิธี นี่คือบางส่วน:
Visual Sourcesafe ก็ทำงานเช่นนี้เช่นกันและวิธีที่ฉันได้รับ VSS หรือ TFS เพื่อสังเกตเห็นการเปลี่ยนแปลงคือการตรวจสอบไฟล์หนึ่งครั้งภายใน Visual Studio
Open Source Control และไปที่โฟลเดอร์ TFS ของคุณ คลิกขวาที่โฟลเดอร์แล้วเลือก 'เปรียบเทียบ'
สังเกตว่าไฟล์ที่แก้ไขของคุณจะแสดงเป็นสีแดง
ฉันพบว่าสิ่งนี้ดีกว่าtfpt online
ที่ทำให้คุณได้รับไฟล์ที่ไม่ได้อ่านอย่างเดียวและไม่ได้แก้ไข
ฉันเคยมีปัญหานี้ในอดีตเมื่ออินเทอร์เน็ตของฉันหยุดทำงานและฉันทำงานแบบออฟไลน์และการเปลี่ยนแปลงส่วนใหญ่ของฉันไม่ปรากฏใน Team Explorer
ทำตามขั้นตอนต่อไปนี้: ขั้นแรกในตัวสำรวจโซลูชันให้เลือกโฟลเดอร์ที่คุณต้องการเชื่อมต่อใหม่ (สำหรับฉันมันคือโฟลเดอร์โซลูชันทั้งหมดของฉัน) แล้วเลือกเปรียบเทียบ ... คลิกในแก้ไขตัวกรองและในข้อความตัวกรอง - คุณสามารถพิมพ์:
*.cs;!obj\;!bin\;!packages\;
ในตัวอย่างนี้จะรวมไว้ในการค้นหาเฉพาะไฟล์ C # และไม่รวมไว้ในโฟลเดอร์: bin, obj และแพ็คเกจ
สังเกตว่าคอลัมน์รอดำเนินการเปลี่ยนแปลงมีข้อมูลว่าไฟล์ถูกทำเครื่องหมายว่าแก้ไขเพิ่ม ฯลฯ ... หรือไม่มีอะไร ...
สุดท้ายฉันไม่แน่ใจว่าทำไมโครงการไม่อยู่ในรายการที่นี่ (หลังจากฉันลบตัวกรอง * .cs แล้วก็ยังไม่ปรากฏขึ้น) ดังนั้นให้สร้างโซลูชันใหม่เพื่อให้แน่ใจว่าโครงการจะอัปเดตด้วย
+ ในการแก้ปัญหาให้คลิกปุ่มเชื่อมต่อ (ถ้ามีการแสดงขึ้นไป) ที่กล่าวว่าไปออนไลน์
ฉันพบว่าใน Visual Studio 2015 เมื่อเปิดโปรเจ็กต์ Visual Studio ค้นพบด้วยตัวเองว่าไฟล์ถูกแก้ไขจากภายนอกและตรวจสอบไฟล์เหล่านั้นโดยอัตโนมัติโดยที่ฉันไม่ต้องทำอะไรเลย การตรวจสอบในโครงการด้วยวิธีปกติจะช่วยบันทึกการปรับเปลี่ยนภายนอก
ในกรณีของฉันสิ่งต่อไปนี้ใช้งานได้ (อย่างน้อยก็ครั้งเดียวที่ฉันลอง):
การเปลี่ยน View Option ดูเหมือนจะบังคับให้รีเฟรชไฟล์ที่แก้ไข