Alle Dateien außer einer Datei zum Commit hinzufügen

John Wachira 20 Juni 2023
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:

  1. Unstage mit dem Befehl git reset.
  2. Verwenden Sie die Exclude Pathspec.
  3. 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 Wachira avatar John Wachira avatar

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.

LinkedIn

Verwandter Artikel - Git Add

Verwandter Artikel - Git Commit