Alle Dateien außer einer Datei zum Commit hinzufügen
Dieser Artikel veranschaulicht, wie Sie alle Dateien zum Festschreiben hinzufügen und dabei eine Datei Ihrer Wahl ausschließen können. Dies ist praktisch, wenn Sie viele Dateien in einen Commit aufnehmen möchten und eine einzelne Datei weglassen müssen.
Anstatt jeweils eine Datei hinzuzufügen, können Sie diesen einfachen Schritten folgen.
Alle Dateien außer einer Datei zum Commit hinzufügen
Schauen Sie sich das Beispiel unten an. Angenommen, wir haben über zwanzig modifizierte Dateien, wie fügen wir alle bis auf eine hinzu?
Nehmen wir an, wir möchten eine requirements.txt
-Datei aus dem Index ausschliessen. Wie würden wir vorgehen?
Wir können mehrere Befehle verwenden, um unsere Datei requirements.txt
beim Staging auszuschließen. Diese sind:
- Unstage mit dem Befehl
git reset
. - Verwenden Sie die Exclude Pathspec.
- Schließen Sie die Datei vorübergehend von der Verfolgung aus.
Verwenden Sie den Befehl git reset
Wenn Sie den Befehl git reset
verwenden, müssen Sie alle Dateien zum Index hinzufügen und dann die gewünschte Datei aus der Staging-Umgebung entfernen.
Syntax:
# Start by staging all files
$ git add .
# To exclude a file
$ git reset -- path/to/file
# To exclude a folder
$ git reset -- path/to/folder/*
In unserem Fall fügen wir alle Dateien hinzu und entfernen die Staging-Datei requirements.txt
, wie unten dargestellt.
$ git add .
Dadurch werden alle Dateien bereitgestellt. Um die Datei requirements.txt
aus der Staging-Umgebung zu entfernen, führen wir Folgendes aus:
$ git reset -- path/to/requirements.txt
Dieser Befehl sollte unsere requirements.txt
-Datei aus der Staging-Umgebung entfernen.
Verwenden Sie die Exclude Pathspec
Git-Version 1.9.0 und höher ermöglicht es uns, einen oder mehrere Pfade zu entfernen, während wir Dateien zum Commit hinzufügen. Dies ist mit der Pfadspezifikation :(exclude)
möglich, die auch als :!
geschrieben wird. oder :^
.
Hier ist ein Beispiel.
$ git add --all -- ':!path/to/requirements.txt'
So schließen Sie einen Ordner aus:
$ git add --all -- ':!path/to/folder/*'
Datei vorübergehend von der Nachverfolgung ausschließen
Wir können unsere requirements.txt
-Datei vorübergehend vom Tracking ausschliessen, wie unten dargestellt.
$ git update-index --assume-unchanged path/to/requirements.txt
Git schließt unsere Datei requirements.txt
jedes Mal aus, wenn wir git add .
ausführen. Befehl. Um alle mit --assume-unchanged
gekennzeichneten Dateien aufzulisten, führen wir Folgendes aus:
$ git ls-files -v | grep "^h"
Um unsere Datei aus der ausgeschlossenen Liste zu entfernen, führen wir Folgendes aus:
$ git update-index --no-assume-unchanged path/to/requirements.txt
Kurz gesagt, es gibt mehrere Möglichkeiten, alle Dateien bis auf eine zum Index hinzuzufügen. Wie wir bereits besprochen haben, ist es am saubersten und effizientesten, Dateien vorübergehend von der Verfolgung auszuschließen.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedInVerwandter Artikel - Git Add
- Bereitstellungsbereich in Git
- Fügen Sie alle Dateien in einem Ordner zum Commit in Git hinzu
- Git Add und Git Commit in einem Befehl
- git add, git commit und git push in One Command
- Hinzufügen von Dateien zu einem Git-Repository