wake-up-neo.com

Wie kann TFS 2010 feststellen, dass Änderungen an Dateien außerhalb von Visual Studio vorgenommen wurden?

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?

111
asmo

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. 

47
Edward Thomson

TFS hat dazu einen "Reconcile" -Befehl:

  1. Öffnen Sie den Quellcodeverwaltungs-Explorer
  2. Klicken Sie mit der rechten Maustaste auf den Ordner mit den Änderungen und wählen Sie Vergleichen
  3. Wählen Sie die Dateien aus, die Sie synchronisieren möchten (drücken Sie CTRL+A um alle Dateien auszuwählen)
  4. Klicken Sie auf die Schaltfläche Versöhnen
  5. Legen Sie die Optionen im Dialogfeld Ordnerunterschiede abgleichen fest. Stellen Sie sicher, dass Dateien ohne ausstehende Änderungen auf Auschecken eingestellt sind.
  6. Klicken Sie auf OK
  7. Wenn Sie lokale Änderungen vorgenommen haben, wird das Dialogfeld Auschecken angezeigt. Legen Sie den bevorzugten Sperrtyp fest
  8. Klicken Sie auf Auschecken

Reconcile Folder Differences

Siehe auch: nterschiede zwischen Ordnern abgleichen

149
mhu

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.

35
Adam Batkin
*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.

14
hugbe8

Versuche dies. Es ist eine Art Problemumgehung, aber es funktioniert:

  1. nehmen Sie Änderungen außerhalb von Visual Studio vor
  2. gehen Sie zu Visual Studio und öffnen Sie den Source Control Explorer
  3. klicken Sie mit der rechten Maustaste auf den Ordner> "Auschecken zum Bearbeiten"> "Auschecken".
  4. rechtsklick auf denselben Ordner> "Ausstehende Änderungen rückgängig machen ..."> "Änderungen rückgängig machen"> "No to All"

Das ist es. Die Änderungen sind jetzt sichtbar.

7
Alexander G

Es gibt auch eine andere Lösung, mit der TFS herausfinden kann, welche Dateien sich außerhalb von Visual Studio geändert haben:

  1. Öffnen Sie die Lösung offline
  2. Wählen Sie im Projektmappen-Explorer die Lösungsdatei aus und drücken Sie die Schaltfläche Online gehen (GoOnline Button Icon)

Danach prüft TFS die Lösung automatisch auf Änderungen.

Schritt eins kann auf verschiedene Arten erreicht werden. Hier sind einige:

  • Verwenden Sie die GoOffline Extension - sehr einfach und effektiv.
  • Wenn Sie beim Öffnen der Lösung nach TFS-Anmeldeinformationen gefragt werden (keine automatische Domänenauthentifizierung), geben Sie die Anmeldeinformationen nicht ein. Die Lösung wird offline geöffnet, und Sie werden nach dem Klicken auf die Schaltfläche Online anmelden angemeldet
  • (extreme Lösung) Trennen Sie Ihr Netzwerkkabel. Öffnen Sie die Lösung. Schließen Sie das Netzwerkkabel an.
4

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.

3
CheckRaise

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 ... enter image description here 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. 

  • Um als edit zu kennzeichnen (wenn das lokale Element über ein übereinstimmendes Serverelement verfügt), wählen Sie die Datei aus und wählen Sie Auschecken für Bearbeiten ....
  • Wählen Sie zum Markieren als Hinzufügen (wenn das lokale Element kein Serverelement enthält) die Datei aus und wählen Sie Dateien hinzufügen.

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.

1
Jaider

Ö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.

1
user2572682

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.

0
Graham Laight