SVN Versionskontrolle von Visual Studio 2019 Projektmappen: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 55: Zeile 55:


----
----
→ zurück zum Hauptartikel: [[Robotik_und_autonome_Systeme|Robotik und autonome Systeme]]
→ zurück zum Hauptartikel: [[Software_Versionsverwaltung_mit_SVN|Software Versionsverwaltung mit SVN]]

Version vom 7. September 2024, 08:19 Uhr

Abb. 1: 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:

  1. /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.
  2. .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.
  3. .user, .userosscache, *.suo: Diese Dateien enthalten ebenfalls benutzerspezifische Einstellungen, wie z.B. Breakpoints, und sollten nicht mit anderen geteilt werden.
  4. *.userprefs: Spezifisch für MonoDevelop/Visual Studio für Mac, aber auch hier gilt, dass benutzerspezifische Einstellungen nicht geteilt werden sollten.
  5. /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.
  6. 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.
  7. TMP Dateien: Temporäre Dateien, die mit der Extension .tmp enden, sind für die Versionskontrolle irrelevant und sollten ignoriert werden.
  8. 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

Abb. 2: Global ignore pattern
  1. TortoiseSVN Einstellungen öffnen: Machen Sie einen Rechtsklick in einem beliebigen Ordner im Windows Explorer, wählen Sie TortoiseSVN, und dann Einstellungen.
  2. Allgemeine Einstellungen: Gehen Sie auf den Reiter Allgemein. Unter der Überschrift Global 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).
  3. Pattern hinzufügen: Fügen Sie die Muster hinzu, getrennt durch Leerzeichen. Zum Beispiel: bin obj .vs .user .suo .tmp _ReSharper/ *.userprefs.
  4. Ä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