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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:VS19.jpg|thumb|rigth|350px|Abb. 1: SVN Versionskontrolle von Visual Studio 2019 Projektmappen]]
[[Datei:VS19.jpg|thumb|rigth|500px|Abb. 1: SVN Versionskontrolle von Visual Studio 2019 Projektmappen]]
{| class="wikitable"
{| class="wikitable"
|-
|-
| '''Autor:'''  || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. U. Schneider]]
| '''Autor:'''  || [[Benutzer:Ulrich_Schneider| 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:
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 <code>.gitignore</code>-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.
# <code>/bin/</code> und <code>/obj/</code> 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.
# <code>.vs/</code> 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.
# <code>.user</code>, <code>.userosscache</code>, <code>*.suo</code>: 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.
# <code>*.userprefs</code>: 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.
# <code>/packages/</code>: 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.
# Build Ergebnisse: Jede Datei, die während des Build-Prozesses generiert wird (z.&thinsp;B. <code>.exe</code>, <code>.dll</code>, <code>.pdb</code> 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.
# TMP Dateien: Temporäre Dateien, die mit der Extension <code>.tmp</code> 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.
# ReSharper-Ordner: Wenn Sie ReSharper oder andere Code-Analyse-Tools verwenden, sollten deren Cache- und Einstellungsordner (<code>_ReSharper</code>, <code>.DotSettings.user</code>) ebenfalls ignoriert werden.


Eine `.gitignore`-Datei für ein Visual Studio-Projekt könnte also folgende Einträge enthalten:
Eine <code>.gitignore</code>-Datei für ein Visual Studio-Projekt könnte also folgende Einträge enthalten:


  bin/
  bin/
  obj/
  obj/
  .vs/
  .vs/
Debig
  *.user
  *.user
  *.userosscache
  *.userosscache
Zeile 31: Zeile 32:
  _ReSharper*/
  _ReSharper*/
  *.DotSettings.user
  *.DotSettings.user
*.ipch
*.bak




Zeile 36: Zeile 39:


== Anpassung von Tortoise SVN ==
== Anpassung von Tortoise SVN ==
#TortoiseSVN Einstellungen öffnen: Machen Sie einen Rechtsklick in einem beliebigen Ordner im Windows Explorer, wählen Sie "TortoiseSVN", und dann "Einstellungen".
[[Datei:SVN Global ignore pattern.jpg|thumb|rigth|500px|Abb. 2: Global ignore pattern]]
#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.
#TortoiseSVN Einstellungen öffnen: Machen Sie einen Rechtsklick in einem beliebigen Ordner im Windows Explorer, wählen Sie <code>TortoiseSVN</code>, und dann <code>Einstellungen</code>.
#Pattern hinzufügen: Fügen Sie die Muster hinzu, getrennt durch Leerzeichen. Zum Beispiel: `bin obj .vs .user .suo .tmp _ReSharper/ *.userprefs`.
#Allgemeine Einstellungen: Gehen Sie auf den Reiter <code>Allgemein</code>. Unter der Überschrift <code>Global ignore pattern</code> 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).
#Änderungen speichern: Klicken Sie auf "OK", um die Änderungen zu speichern.
#Pattern hinzufügen: Fügen Sie die Muster hinzu, getrennt durch Leerzeichen. Zum Beispiel: <code>bin obj .vs .user .suo .tmp _ReSharper/ *.userprefs</code>.
#Änderungen speichern: Klicken Sie auf <code>OK</code>, um die Änderungen zu speichern.


Global ignore pattern
Global ignore pattern
Zeile 47: Zeile 51:


Erweitert um Visual Studio 2019 Build-Dateien:<br>
Erweitert um Visual Studio 2019 Build-Dateien:<br>
<code>*.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</code>
<code>*.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</code>


'''Achtung:''' Die Einstellungen gelten für alle SVN-Ordner.


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

Aktuelle Version vom 7. September 2024, 09:20 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

Achtung: Die Einstellungen gelten für alle SVN-Ordner.


→ zurück zum Hauptartikel: Software Versionsverwaltung mit SVN