Für den speziellen Fall in der Frage wäre es am einfachsten, alle Dateien mit .c Erweiterung und lassen Sie alles andere weg:
git add *.c
De git-scm (oder/und man git add
):
git add <pathspec>
Dateien, aus denen Inhalte hinzugefügt werden können. Dateiklumpen (z.B. *.c) können angegeben werden, um alle passenden Dateien hinzuzufügen. <...>
Beachten Sie, dass dies bedeutet, dass Sie auch etwas tun könnten wie:
git add **/main/*
um alle Dateien (die nicht ignoriert werden) hinzuzufügen, die sich im Verzeichnis main
Ordner. Sie können sich auch mit aufwändigeren Mustern austoben:
git add **/s?c/*Service*
Der obige Befehl fügt alle Dateien hinzu, die sich in s(any char)c
Ordner und haben Service
irgendwo in ihrem Dateinamen.
Natürlich sind Sie nicht auf ein Muster pro Befehl beschränkt. Das heißt, Sie könnten git auffordern, alle Dateien mit der Erweiterung .c y .h :
git add *.c *.h
Ce site リンク könnte Ihnen einige weitere Ideen für Glob-Muster liefern.
Ich finde es besonders nützlich, wenn ich viele Änderungen vornehme, aber trotzdem möchte, dass meine Commits atomar bleiben und einen schrittweisen Prozess widerspiegeln und nicht ein Sammelsurium von Änderungen, an denen ich gerade arbeite. Natürlich überwiegen ab einem gewissen Punkt die Kosten für die Entwicklung komplizierter Muster die Kosten für das Hinzufügen von Dateien mit einfacheren Methoden oder sogar einer Datei nach der anderen. Meistens gelingt es mir jedoch leicht, mit einem einfachen Muster nur die Dateien zu finden, die ich brauche, und alles andere auszuschließen.
Übrigens, Sie Mai Sie müssen Ihre Glob-Muster zitieren, damit sie funktionieren, aber das war bei mir nie der Fall.