SVN Versionskontrolle von Visual Studio 2019 Projektmappen
Autor: | Prof. Dr.-Ing. U. Schneider |
In einem Visual Studio 2019-Projekt sollten gewisse Dateien und Ordner nicht in eine Versionskontrolle aufgenommen werden, da sie entweder personenbezogene Daten, Build-Ergebnisse oder vom Benutzer spezifische Einstellungen enthalten, die bei anderen Entwicklern zu Konflikten führen können. Hier ist eine Liste von Dateitypen und Ordnern, die üblicherweise in die .gitignore
-Datei eines Projekts aufgenommen werden, wenn Sie Git als Versionskontrollsystem verwenden:
/bin/
und/obj/
Verzeichnisse: Diese Ordner enthalten die Ergebnisse des Kompilierungsvorgangs und sollten nicht in die Versionskontrolle aufgenommen werden, da sie von Visual Studio automatisch generiert werden..vs/
Verzeichnis: Dieser Ordner enthält benutzerspezifische Einstellungen für das Projekt und sollte ignoriert werden, da er Informationen enthält, die spezifisch für Ihre Entwicklungsumgebung sind..user
,.userosscache
,*.suo
: Diese Dateien enthalten ebenfalls benutzerspezifische Einstellungen, wie z.B. Breakpoints, und sollten nicht mit anderen geteilt werden.*.userprefs
: Spezifisch für MonoDevelop/Visual Studio für Mac, aber auch hier gilt, dass benutzerspezifische Einstellungen nicht geteilt werden sollten./packages/
: Wenn Sie NuGet verwenden, um Abhängigkeiten zu verwalten, müssen die heruntergeladenen Pakete nicht in die Versionskontrolle aufgenommen werden. Stattdessen sollte nur die `packages.config` oder `*.csproj`-Datei(en) aufgenommen werden, um die Abhängigkeiten zu definieren.- Build Ergebnisse: Jede Datei, die während des Build-Prozesses generiert wird (z. B.
.exe
,.dll
,.pdb
Dateien), sollte nicht in die Versionskontrolle aufgenommen werden. - TMP Dateien: Temporäre Dateien, die mit der Extension
.tmp
enden, sind für die Versionskontrolle irrelevant und sollten ignoriert werden. - ReSharper-Ordner: Wenn Sie ReSharper oder andere Code-Analyse-Tools verwenden, sollten deren Cache- und Einstellungsordner (
_ReSharper
,.DotSettings.user
) ebenfalls ignoriert werden.
Eine .gitignore
-Datei für ein Visual Studio-Projekt könnte also folgende Einträge enthalten:
bin/ obj/ .vs/
Debig
*.user *.userosscache *.suo *.userprefs /packages/ *.exe *.dll *.pdb *.tmp _ReSharper*/ *.DotSettings.user *.ipch *.bak
Das obige Beispiel deckt die grundlegendsten und häufigsten Dateien und Ordner ab, die ignoriert werden sollten. Je nach Projekt und den verwendeten Werkzeugen oder Plugins kann es jedoch erforderlich sein, diese Liste anzupassen.
Anpassung von Tortoise SVN
- TortoiseSVN Einstellungen öffnen: Machen Sie einen Rechtsklick in einem beliebigen Ordner im Windows Explorer, wählen Sie
TortoiseSVN
, und dannEinstellungen
. - Allgemeine Einstellungen: Gehen Sie auf den Reiter
Allgemein
. Unter der ÜberschriftGlobal ignore pattern
können Sie Dateitypen und Ordner hinzufügen, die Sie global ignorieren möchten. Diese Einstellung gilt für alle Ihre SVN-Projekte auf diesem Computer (vgl. Abb. 2). - Pattern hinzufügen: Fügen Sie die Muster hinzu, getrennt durch Leerzeichen. Zum Beispiel:
bin obj .vs .user .suo .tmp _ReSharper/ *.userprefs
. - Änderungen speichern: Klicken Sie auf
OK
, um die Änderungen zu speichern.
Global ignore pattern
default:
*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db
Erweitert um Visual Studio 2019 Build-Dateien:
*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db bin/ obj/ .vs/ *.user *.userosscache *.suo *.userprefs /packages/ *.exe *.dll *.pdb *.tmp _ReSharper*/ *.DotSettings.user *.ipch *.bak
→ zurück zum Hauptartikel: Software Versionsverwaltung mit SVN