Wie man EXE-Dateien in einem Git-Repository mit GitIgnore ignoriert

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses Tutorial führt Sie durch den Prozess des Ignorierens von ausführbaren Dateien (.exe-Dateien) in Ihrem Git-Repository mithilfe der .gitignore-Datei. Am Ende dieser Anleitung werden Sie verstehen, was die .gitignore-Datei ist, warum sie wichtig ist und wie Sie sie konfigurieren, um .exe-Dateien davon auszuschließen, von Git verfolgt zu werden. Dieses Wissen hilft Ihnen, ein sauberes Repository zu pflegen, indem unnötige Dateien am Committen gehindert werden.

Git und .gitignore-Dateien verstehen

Bevor wir mit .gitignore-Dateien arbeiten, wollen wir einige grundlegende Konzepte verstehen.

Was ist Git?

Git ist ein Versionskontrollsystem, das Entwicklern hilft, Änderungen in ihrem Code zu verfolgen, mit Teammitgliedern zusammenzuarbeiten und eine Historie ihres Projekts zu verwalten. Wenn Sie mit Git arbeiten, werden alle Dateien in Ihrem Repository verfolgt, es sei denn, Sie weisen es explizit an, dies nicht zu tun.

Was ist eine .gitignore-Datei?

Eine .gitignore-Datei ist eine Textdatei, die Git mitteilt, welche Dateien oder Verzeichnisse in einem Projekt ignoriert werden sollen. Dateien, die in der .gitignore-Datei aufgeführt sind, werden von Git nicht verfolgt, d.h. sie erscheinen nicht in Ihrer Commit-Historie und werden auch nicht in Remote-Repositories gepusht.

Warum eine .gitignore-Datei verwenden?

Es gibt mehrere Gründe, eine .gitignore-Datei zu verwenden:

  1. Vermeiden des Commitens kompilierter Dateien: Kompilierte Dateien wie .exe-Dateien können groß sein und werden in der Regel aus dem Quellcode generiert, daher ist es nicht notwendig, sie zu verfolgen.
  2. Verhindern persönlicher Konfigurationsdateien: Viele Entwickler haben ihre eigenen Konfigurationseinstellungen, die andere nicht beeinflussen sollten.
  3. Schützen sensibler Informationen: Dateien mit Geheimnissen, Passwörtern oder API-Schlüsseln sollten nicht in Git verfolgt werden.
  4. Reduzierung der Repository-Größe: Durch das Ausschließen unnötiger Dateien können Sie Ihr Repository kleiner und effizienter halten.

In diesem Tutorial konzentrieren wir uns auf das Ignorieren von .exe-Dateien, die ausführbare Dateien sind, die häufig in Windows-Umgebungen gefunden werden. Diese Dateien werden typischerweise aus dem Quellcode kompiliert und müssen nicht in einem Git-Repository verfolgt werden.

Einrichten eines Git-Repositorys für Tests

In diesem Schritt erstellen wir ein neues Git-Repository und fügen einige Dateien hinzu, um zu demonstrieren, wie .gitignore funktioniert. Befolgen Sie diese Anweisungen sorgfältig, um Ihre Testumgebung einzurichten.

Erstellen eines neuen Git-Repositorys

Beginnen wir damit, ein neues Verzeichnis für unser Projekt zu erstellen und es als Git-Repository zu initialisieren.

  1. Öffnen Sie Ihr Terminal. Sie sollten sich im Standardverzeichnis /home/labex/project befinden.

  2. Erstellen Sie ein neues Verzeichnis namens gitignore-test und navigieren Sie dorthin:

    mkdir gitignore-test
    cd gitignore-test
  3. Initialisieren Sie ein neues Git-Repository:

    git init

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    Initialized empty Git repository in /home/labex/project/gitignore-test/.git/

Erstellen von Testdateien

Erstellen wir nun einige Testdateien in unserem Repository, einschließlich einer Datei, die eine .exe-Datei simulieren soll.

  1. Erstellen Sie eine einfache Textdatei:

    echo "This is a regular text file" > readme.txt
  2. Erstellen Sie eine Datei, die eine .exe-Datei simuliert (zu Demonstrationszwecken):

    echo "This simulates an executable file" > program.exe
  3. Erstellen Sie eine weitere Textdatei:

    echo "This is another text file" > notes.txt
  4. Überprüfen Sie den Status Ihres Git-Repositorys, um zu sehen, welche Dateien Git verfolgt:

    git status

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    On branch main
    
    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            notes.txt
            program.exe
            readme.txt
    
    nothing added to commit but untracked files present (use "git add" to track)

Beachten Sie, dass Git zu diesem Zeitpunkt alle Dateien, einschließlich der .exe-Datei, als nicht verfolgt anzeigt. Im nächsten Schritt erstellen wir eine .gitignore-Datei, um Git anzuweisen, die .exe-Datei zu ignorieren.

Erstellen und Konfigurieren einer .gitignore-Datei

Nachdem wir unser Repository mit einigen Testdateien eingerichtet haben, erstellen wir nun eine .gitignore-Datei, um Git anzuweisen, unsere .exe-Datei zu ignorieren.

Erstellen einer .gitignore-Datei

  1. Stellen Sie im Terminal sicher, dass Sie sich noch im Verzeichnis gitignore-test befinden:

    pwd

    Die Ausgabe sollte Folgendes anzeigen:

    /home/labex/project/gitignore-test
  2. Erstellen Sie eine .gitignore-Datei mit dem Texteditor nano:

    nano .gitignore
  3. Fügen Sie im Nano-Editor die folgende Zeile hinzu, um alle .exe-Dateien zu ignorieren:

    *.exe

    Das * ist ein Wildcard-Zeichen, das "beliebige Zeichen" bedeutet. Also bedeutet *.exe "jede Datei mit der Erweiterung .exe".

  4. Speichern Sie die Datei, indem Sie Strg+O drücken und dann Enter drücken, um zu bestätigen. Beenden Sie Nano, indem Sie Strg+X drücken.

  5. Überprüfen Sie nun erneut den Status Ihres Git-Repositorys:

    git status

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    On branch main
    
    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            .gitignore
            notes.txt
            readme.txt
    
    nothing added to commit but untracked files present (use "git add" to track)

Beachten Sie, dass program.exe nicht mehr aufgelistet ist. Das bedeutet, dass Git es jetzt ignoriert, aufgrund unserer .gitignore-Konfiguration.

Hinzufügen von Dateien zu Git

Fügen wir nun die restlichen Dateien zu Git hinzu und führen unseren ersten Commit durch:

  1. Fügen Sie alle nicht ignorierten Dateien zu Git hinzu:

    git add .
  2. Überprüfen Sie, was committet wird:

    git status

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    On branch main
    
    No commits yet
    
    Changes to be committed:
      (use "git rm --cached <file>..." to unstage)
            new file:   .gitignore
            new file:   notes.txt
            new file:   readme.txt
  3. Führen Sie Ihren ersten Commit durch:

    git commit -m "Initial commit with .gitignore configuration"

    Sie sollten eine Ausgabe sehen, die Ihren Commit bestätigt, ähnlich der folgenden:

    [main (root-commit) xxxxxxx] Initial commit with .gitignore configuration
     3 files changed, 3 insertions(+)
     create mode 100644 .gitignore
     create mode 100644 notes.txt
     create mode 100644 readme.txt

Sie haben nun erfolgreich eine .gitignore-Datei erstellt und sie so konfiguriert, dass alle .exe-Dateien ignoriert werden. Git verfolgt jetzt Ihre .gitignore-Datei, readme.txt und notes.txt, ignoriert aber program.exe.

Testen der .gitignore-Datei

Nachdem wir unsere .gitignore-Datei so eingerichtet haben, dass sie .exe-Dateien ignoriert, wollen wir sie testen, um sicherzustellen, dass sie korrekt funktioniert.

Erstellen weiterer Testdateien

  1. Erstellen Sie eine weitere .exe-Datei:

    echo "This is another executable file" > another_program.exe
  2. Erstellen Sie eine reguläre Textdatei:

    echo "This is a new text file" > new_file.txt
  3. Überprüfen Sie den Status Ihres Git-Repositorys:

    git status

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    On branch main
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            new_file.txt
    
    nothing added to commit but untracked files present (use "git add" to track)

Beachten Sie, dass another_program.exe nicht in der Ausgabe aufgeführt ist. Dies bestätigt, dass unsere .gitignore-Datei korrekt funktioniert und Git alle .exe-Dateien ignoriert.

Vornehmen von Änderungen an verfolgten Dateien

Sehen wir uns auch an, was passiert, wenn wir eine Datei ändern, die bereits von Git verfolgt wird:

  1. Fügen Sie der Datei readme.txt Text hinzu:

    echo "Adding more content to this file" >> readme.txt
  2. Überprüfen Sie den Status erneut:

    git status

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    On branch main
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git restore <file>..." to discard changes in working directory)
            modified:   readme.txt
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            new_file.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")

Dies zeigt, dass Git Änderungen an readme.txt verfolgt, da sie nicht ignoriert wird, während es weiterhin die .exe-Dateien ignoriert.

Hinzufügen und Committen der neuen Änderungen

Fügen wir unsere Änderungen hinzu und committen sie:

  1. Fügen Sie alle nicht ignorierten Dateien hinzu:

    git add .
  2. Commiten Sie die Änderungen:

    git commit -m "Added new file and modified readme"
  3. Zeigen Sie den Commit-Verlauf an:

    git log --oneline

    Sie sollten Ihre beiden Commits aufgelistet sehen, wobei der aktuellste oben steht.

Sie haben nun erfolgreich Ihre .gitignore-Datei getestet und bestätigt, dass sie korrekt funktioniert, um .exe-Dateien zu ignorieren, während Sie gleichzeitig andere Dateien in Ihrem Repository verfolgen können.

Erweiterte .gitignore-Muster und Best Practices

Nachdem Sie die Grundlagen der Verwendung von .gitignore zum Ignorieren von .exe-Dateien verstanden haben, wollen wir uns einige erweiterte Muster und Best Practices ansehen.

Häufige .gitignore-Muster

Die .gitignore-Datei unterstützt verschiedene Muster für flexibleres Dateimatching:

  1. Ignorieren bestimmter Dateien:

    specific_file.txt
  2. Ignorieren von Dateitypen:

    *.exe
    *.log
    *.tmp
  3. Ignorieren von Verzeichnissen:

    build/
    temp/
  4. Ignorieren von Dateien in bestimmten Verzeichnissen:

    logs/*.log
  5. Ausschließen bestimmter Dateien vom Ignorieren:

    !important.exe

Aktualisieren unserer .gitignore-Datei

Aktualisieren wir unsere .gitignore-Datei mit einigen zusätzlichen Mustern:

  1. Öffnen Sie die .gitignore-Datei zur Bearbeitung:

    nano .gitignore
  2. Fügen Sie die folgenden Zeilen zur Datei hinzu (einschließlich der vorhandenen Zeile *.exe):

    ## Ignore all .exe files
    *.exe
    
    ## Ignore log files
    *.log
    
    ## Ignore the temp directory
    temp/
    
    ## Do not ignore this specific executable
    !important.exe
  3. Speichern Sie die Datei, indem Sie Strg+O drücken und dann Enter drücken, um zu bestätigen. Beenden Sie Nano, indem Sie Strg+X drücken.

Testen der aktualisierten .gitignore

Testen wir unsere aktualisierte .gitignore-Datei:

  1. Erstellen Sie ein Verzeichnis und einige zusätzliche Testdateien:

    mkdir temp
    echo "This is a temporary file" > temp/temp_file.txt
    echo "This is a log file" > debug.log
    echo "This is an important executable" > important.exe
  2. Überprüfen Sie den Status Ihres Git-Repositorys:

    git status

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    On branch main
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            .gitignore
            important.exe
    
    no changes added to commit (use "git add" and/or "git commit -a")

Beachten Sie, dass Git debug.log und alles im Verzeichnis temp/ ignoriert. important.exe wird jedoch nicht ignoriert, da wir es explizit mit dem Muster !important.exe ausgeschlossen haben.

Best Practices für die Verwendung von .gitignore

  1. Erstellen Sie eine .gitignore-Datei zu Beginn Ihres Projekts: Es ist am besten, .gitignore einzurichten, bevor Sie Ihren ersten Commit durchführen.

  2. Verwenden Sie eine globale .gitignore für persönliche Präferenzen: Sie können eine globale .gitignore-Datei für Ihre persönlichen Präferenzen erstellen, die für alle Ihre Repositories gilt.

  3. Fügen Sie spezifische Regeln ein: Seien Sie spezifisch, was Sie ignorieren möchten, um nicht versehentlich wichtige Dateien zu ignorieren.

  4. Kommentieren Sie Ihre .gitignore-Datei: Fügen Sie Kommentare (Zeilen, die mit # beginnen) hinzu, um zu erklären, warum bestimmte Dateien oder Verzeichnisse ignoriert werden.

  5. Überprüfen Sie Vorlagen für Ihre Programmiersprache: Viele Programmiersprachen und Frameworks haben empfohlene .gitignore-Vorlagen online verfügbar.

Indem Sie diese Best Practices befolgen und die in .gitignore verfügbaren Muster verstehen, können Sie effektiv verwalten, welche Dateien Git in Ihrem Repository verfolgt.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie die .gitignore-Datei verwenden, um effektiv zu verwalten, welche Dateien Git in Ihrem Repository verfolgt, mit besonderem Fokus auf das Ignorieren von .exe-Dateien. Hier ist eine Zusammenfassung dessen, was Sie erreicht haben:

  1. Sie haben die Absicht und die Vorteile der Verwendung einer .gitignore-Datei in Git-Repositories kennengelernt.

  2. Sie haben ein Test-Git-Repository erstellt und Beispieldateien hinzugefügt, um zu verstehen, wie Git Dateien verfolgt.

  3. Sie haben eine .gitignore-Datei erstellt und so konfiguriert, dass alle .exe-Dateien ignoriert werden, wodurch verhindert wird, dass sie von Git verfolgt werden.

  4. Sie haben die .gitignore-Konfiguration getestet, indem Sie weitere Dateien hinzugefügt und überprüft haben, ob .exe-Dateien tatsächlich ignoriert wurden.

  5. Sie haben erweiterte .gitignore-Muster und Best Practices für die effektive Verwaltung Ihres Git-Repositorys untersucht.

Durch die Implementierung von .gitignore in Ihren Projekten können Sie ein sauberes Repository verwalten, indem Sie Dateien ausschließen, die nicht verfolgt werden müssen, wie z. B. kompilierte Binärdateien, temporäre Dateien und sensible Informationen. Dies trägt dazu bei, dass sich Ihr Repository auf Quellcode und wesentliche Dateien konzentriert, was es effizienter und einfacher macht, mit anderen zusammenzuarbeiten.