git fügen Sie nur die Dateien hinzu, die bereits bereitgestellt wurden

8

Ich habe oft eine Situation, wo ich git add eine Reihe von Dateien für ein Commit bearbeitet habe, aber dann eine Änderung an diesen Dateien vornehmen muss, damit die Änderungen an diesen Dateien in Changed but not updated enden.

Gibt es einen einzigen Liner, den ich in git add ausführen kann, nur die Dateien, die in Changed but not updated und Changes to be committed lists existieren?

%Vor%

Für das obige Beispiel möchte ich nur Foo.java und Bar.java , aber nicht FooBar.java der Changes to be committed: Liste hinzufügen.

    
markdsievers 26.08.2011, 03:49
quelle

2 Antworten

4

Dies ist eine Möglichkeit:

%Vor%     
manojlds 26.08.2011, 04:06
quelle
0

Die angenommene Antwort funktioniert nicht, wenn Dateinamen ein Leerzeichen enthalten. Auch -u ist in diesem Fall nutzlos, fügt aber alle nicht-geladenen Dateien hinzu, wenn keine Dateien in Changed but not updated und Changes to be committed list vorhanden sind. Verwenden Sie stattdessen:

%Vor%

Dies funktioniert nur für Dateien, die nur geändert werden. Wenn Sie möchten, dass dies auch für Dateien funktioniert, die gelöscht, hinzugefügt, umbenannt oder kopiert werden, verwenden Sie Folgendes:

%Vor%

Aber sei vorsichtig mit dem letzten. Wenn die Datei beispielsweise im Index hinzugefügt wird, ihre Löschung jedoch nicht erfolgt, wird durch das Ausführen dieses Befehls auch die Datei im Index gelöscht, wodurch Sie den Inhalt dieser Datei verlieren.

Beachten Sie, dass beide nur im Stammverzeichnis Ihres git-Repos funktionieren.

    
robert petranovic 03.09.2014 14:43
quelle

Tags und Links