Ist es möglich, Dateien / Ordner so einzurichten, dass sie projektweise in der TFS-Quellcodeverwaltung ignoriert werden?
Ich habe beispielsweise eine Website mit einem Assets-Ordner, in den ich nicht zur Quellcodeverwaltung wechseln möchte. Diese Vermögenswerte werden von einem separaten System verwaltet. Außerdem möchte ich nicht mehrere Gigabyte an Assets in die Quellcodeverwaltung einbinden, aber ich benötige ein paar Beispiele auf meinem Entwicklungscomputer, aber ich möchte diese auch nicht einchecken.
Wenn ich an dieser Website arbeite, während ich an die Quellcodeverwaltung gebunden bin, und den Baum aktualisiere, werden diese Dateien automatisch wieder hinzugefügt
Ich möchte dies verhindern.
Antworten:
Für VS2015 und VS2017
Funktioniert mit TFS (vor Ort) oder VSO (Visual Studio Online - das von Azure gehostete Angebot)
Die NuGet-Dokumentation enthält Anweisungen dazu. Ich habe sie gerade erfolgreich für Visual Studio 2015 und Visual Studio 2017 gegen VSTS (von Azure gehostetes TFS) befolgt. Alles ist ab
November 2016Aug 2018 vollständig aktualisiert .Ich empfehle Ihnen, die Anweisungen von NuGet zu befolgen, aber nur um noch einmal zusammenzufassen, was ich getan habe:
packages
Ordner nicht an TFS gebunden ist. Wenn ja, holen Sie es da raus..sln
Datei befindet, sofern nicht anders angegeben (die Anweisungen von NuGet sind hierzu nicht vollständig klar)..nuget
Ordner. Sie können Windows Explorer verwenden,.nuget.
um es zu benennen, damit es erfolgreich gespeichert werden kann.nuget
(es entfernt automatisch den letzten Punkt), aber der direkte Versuch, es zu benennen,.nuget
funktioniert möglicherweise nicht (je nach Windows-Version wird möglicherweise ein Fehler angezeigt oder der Name wird geändert ). Oder benennen Sie das Verzeichnis nuget und öffnen Sie das übergeordnete Verzeichnis in der Eingabeaufforderung. Art. ren nuget .nugetNuGet.config
Datei, fügen Sie den folgenden Inhalt hinzu und speichern Sie ihn:NuGet.config:
.sln
Ordner, erstellen Sie eine neue Textdatei und benennen Sie sie.tfignore
(wenn Sie Windows Explorer verwenden, verwenden Sie den gleichen Trick wie oben und benennen Sie ihn.tfignore.
)..tfignore:
.tfignore
Datei und des.nuget
Ordners über Windows Explorer in alle meine verschiedenen Lösungen und Festschreiben dieser Dateien. Derpackages
Ordner versucht nicht mehr , sich in mein Versionsverwaltungs-Repo zu schleichen.Weitere Anpassung
Obwohl nicht meine, habe ich diese
.tfignore
Vorlage von sirkirby als praktisch empfunden . Das Beispiel in meiner Antwort bezieht sich auf den Nuget-packages
Ordner, aber diese Vorlage enthält einige andere Dinge sowie zusätzliche Beispiele, die nützlich sein können, wenn Sie dies weiter anpassen möchten.quelle
Wenn Sie lokale Arbeitsbereiche verwenden (TFS 2012+), können Sie die
.tfignore
Datei jetzt verwenden , um lokale Ordner und Dateien vom Einchecken auszuschließen.Wenn Sie diese Datei zur Quellcodeverwaltung hinzufügen, können Sie sicherstellen, dass andere Mitglieder Ihres Teams dieselben Ausschlusseinstellungen verwenden.
Ausführliche Informationen zu MSDN - http://msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore
Für die Faulen:
Beispieldatei:
quelle
.tfignore
also habe ich erstellt.tfignore.
und er hat den letzten Punkt selbst entfernt..tfignore
Datei aufgrund des Fehlens eines Eigennamens nicht erstellen lässt, können Sie sie erstellen oder über ein Befehlszeilenfenster umbenennen.Es ist offenbar ein wenig umständlich zu ignorieren Dateien (und Ordner) in Team Foundation Server. Ich habe einige Möglichkeiten gefunden, dies zu tun (mit TFS / Team Explorer / Visual Studio 2008). Diese Methoden funktionieren auch mit dem ASP-Projekttyp der Website.
Eine Möglichkeit besteht darin, einem Projekt ein neues oder vorhandenes Element hinzuzufügen (z. B. mit der rechten Maustaste auf das Projekt klicken, Vorhandenes Element hinzufügen oder aus dem Windows-Explorer in den Lösungs-Explorer ziehen und dort ablegen), TFS die Datei (en) oder den Ordner verarbeiten zu lassen und dann ausstehend rückgängig zu machen Änderungen an den Artikeln. TFS hebt die Markierung für eine ausstehende Änderung zum Hinzufügen auf, und die Dateien befinden sich ruhig im Projekt und halten sich von TFS fern.
Eine andere Möglichkeit ist der Befehl Elemente zum Ordner hinzufügen im Versionsverwaltungs-Explorer. Dadurch wird ein kleiner Assistent gestartet, und in einem der Schritte können Sie auszuschließende Elemente auswählen (obwohl Sie meiner Meinung nach mit dieser Methode mindestens ein Element zu TFS hinzufügen müssen, damit der Assistent fortfahren kann).
Sie können sogar eine Richtlinie zum Einchecken verbotener Muster hinzufügen (unter Team -> Teamprojekteinstellungen -> Quellcodeverwaltung ... -> Eincheckrichtlinie), um zu verhindern, dass andere Teammitglieder versehentlich bestimmte Assets einchecken.
quelle
Für TFS 2013 :
Starten Sie im VisualStudio- Team-Explorer im PendingChanges- Dialogfeld die Änderungen mit dem Status [Hinzufügen], der ignoriert werden sollte.
Visual Studio erkennt die Add (s) erneut. Klicken Sie auf „erkannt: x (e)“ -in Ausgeschlossen Änderungen
Im geöffneten Dialog "Cadidate-Änderungen fördern" können Sie Dateien und Ordner einfach über das Kontextmenü ausschließen. Optionen sind:
Vergessen Sie nicht, die geänderte .tfignore-Datei einzuchecken.
Für VS 2015/2017 :
Das gleiche Verfahren: Klicken Sie auf der Registerkarte "Ausgeschlossene Änderungen" in TeamExplorer \ Pending Changes auf Detected: xxx add (s)
Das Dialogfeld "Kandidatenänderungen fördern" wird geöffnet. Auf die Einträge können Sie mit der rechten Maustaste klicken, um das Kontextmenü aufzurufen. Tippfehler ist jetzt behoben :-)
quelle
Ich habe den perfekten Weg gefunden, um Dateien in TFS zu ignorieren, wie es SVN tut.
Wählen Sie zunächst die Datei aus, die Sie ignorieren möchten (z. B. die Datei Web.config).
Gehen Sie nun zur Menüregisterkarte und wählen Sie:
... und boom; Ihre Datei ist dauerhaft von der Quellcodeverwaltung ausgeschlossen.
quelle
Ich gehe davon aus, dass Sie Website-Projekte verwenden. Diese crawlen automatisch ihr Projektverzeichnis und werfen alles in die Quellcodeverwaltung. Es gibt keine Möglichkeit, sie aufzuhalten.
Verzweifeln Sie jedoch nicht. Webanwendungsprojekte weisen dieses seltsame und eher unerwartete (imho: schwachsinnige) Verhalten nicht auf. WAP ist ein Addon für VS2005 und wird direkt mit VS2008 geliefert.
Alternativ zum Ändern Ihrer Projekte in WAP können Sie den Ordner "Assets" aus der Quellcodeverwaltung in eine TFS-Dokumentbibliothek verschieben. Tun Sie dies nur, wenn das Projekt selbst die Assets-Dateien nicht direkt verwendet.
quelle