Ich verwende Team Foundation Server 2010 mit Visual Studio 2010.
Wenn ich eine Datei außerhalb von Visual Studio ändere, scheint TFS die an der Datei vorgenommenen Änderungen nicht zu erkennen und bietet mir daher nicht die Möglichkeit, die Datei einzuchecken, nachdem sie geändert wurde.
Wie kann das gelöst werden?
Wenn Sie über eine Netzwerkverbindung zu Ihrem Server verfügen, während Sie außerhalb von Visual Studio arbeiten, empfiehlt es sich, die Datei auszuchecken, bevor Sie sie bearbeiten, entweder über den Befehlszeilenclient tf oder über die Windows Explorer Shell-Integration verfügbar in der Version TFS Power Tools . (Außerdem gibt es eine zunehmende Anzahl anderer Tools, die über TFS-Integration verfügen, wodurch diese Funktion automatisch ausgeführt wird. Wenn Sie jedoch nur Notepad verwenden, muss dies dennoch ein manueller Schritt sein.)
Natürlich gibt es viele Male, in denen Sie arbeiten, und Sie haben keine Netzwerkverbindung, über die Sie die Dateien auschecken können.
Wenn Sie wissen, welche Dateien Sie geändert haben, können Sie sie einfach in Visual Studio auschecken und dann wieder einchecken.
Wenn Sie nicht wissen, welche Dateien Sie bearbeitet haben, können Sie die Änderungen erkennen, indem Sie den Befehl tfpt online
ausführen (ebenfalls Teil der Power Tools-Version). Dadurch werden die lokal geänderten Dateien gefunden und der Server wird ausgecheckt.
TFS hat dazu einen "Reconcile" -Befehl:
Siehe auch: nterschiede zwischen Ordnern abgleichen
Dies funktionierte für mich mit den TFS Power Tools:
tfpt online /adds /deletes /diff /noprompt /recursive directory-name
(Dabei ist Verzeichnisname der Pfad zu dem zu aktualisierenden Verzeichnis, andernfalls werden Änderungen in Ihrem gesamten TFS-Repository erkannt.)
Wenn Sie wissen möchten, was er tun würde, ohne Änderungen vorzunehmen, können Sie ihn dazu zwingen, einen Testlauf durchzuführen, indem Sie den Schalter /preview
hinzufügen.
*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"*
Ich habe diese Problemumgehung in einem Zweig getestet und mir sehr geholfen. Es gibt jedoch nur neue Dateien und neue Ordner, die manuell ausgeführt werden müssen.
Ich empfehle, vor der Operation einen Zweig anzulegen. Sie isoliert den Zeitpunkt der Operation.
Hinweis: Bei dieser Technik werden auch die Dateien bereinigt, die von TFS immer als geändert markiert werden.
Versuche dies. Es ist eine Art Problemumgehung, aber es funktioniert:
Das ist es. Die Änderungen sind jetzt sichtbar.
Es gibt auch eine andere Lösung, mit der TFS herausfinden kann, welche Dateien sich außerhalb von Visual Studio geändert haben:
Danach prüft TFS die Lösung automatisch auf Änderungen.
Schritt eins kann auf verschiedene Arten erreicht werden. Hier sind einige:
Visual Sourcesafe funktioniert auch auf diese Weise. Die Art und Weise, wie VSS oder TFS die Änderung bemerkt, ist das Auschecken der Datei in Visual Studio.
Ich hatte dieses Problem in der Vergangenheit, als mein Internet ausgefallen war und ich offline gearbeitet habe und die meisten meiner Änderungen nicht in Team Explorer angezeigt wurden.
Führen Sie die folgenden Schritte aus: Wählen Sie zunächst im Projektmappen-Explorer den Ordner aus, den Sie erneut zusammenstellen möchten (für mich war dies der gesamte Lösungsordner), und wählen Sie Compare ... Klicken Sie auf Modify Filter und in das Textfeld Filter können Sie Folgendes eingeben:
*.cs;!obj\;!bin\;!packages\;
In diesem Beispiel werden nur C # -Dateien in die Suche aufgenommen und in den Ordnern ausgeschlossen: bin, obj und Pakete.
Beachten Sie, dass die Spalte Pending Change die Information enthält, ob die Datei als Bearbeiten, Hinzufügen usw. markiert ist oder nicht.
Schließlich bin ich nicht sicher, warum die Projekte hier nicht aufgeführt sind (nachdem ich den * .cs-Filter entfernt habe, der immer noch nicht angezeigt wird). Erstellen Sie die Lösung neu, um sicherzustellen, dass auch die Projekte aktualisiert werden
+ Klicken Sie in der Lösung auf die Verbindungsschaltfläche (sofern angezeigt), die Go Online sagt.
Öffnen Sie die Quellcodeverwaltung und wechseln Sie zu Ihrem TFS-Ordner. Klicken Sie mit der rechten Maustaste auf den Ordner und wählen Sie "Compare".
Beachten Sie, dass Ihre bearbeiteten Dateien rot markiert sind.
Ich finde, das ist besser als tfpt online
, der auch Dateien liefert, die nicht lesbar sind und nicht bearbeitet werden.
Ich habe in Visual Studio 2015 festgestellt, dass Visual Studio bei geöffnetem Projekt für sich selbst entdeckt hat, dass Dateien extern geändert wurden, und sie automatisch ausgecheckt hat, ohne dass ich etwas tun musste. Beim normalen Einchecken des Projekts wurden die externen Änderungen gespeichert.