2015-08-03 18 views
5

Ich arbeite an einem Git-Projekt. Da ich viel Ordnertiefe habe, möchte ich meine automatische Vervollständigung verbessern, um mit Dateinamen und nicht nur mit Pfaden zu arbeiten. Hiergit add auto-complete Dateiname

ein Beispiel:

$git status                              1 ↵ ✹master 
On branch master 
Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

    modified: app/src/main/java/fr/pasteque/client/BaseFlavor.java 
    modified: app/src/main/java/fr/pasteque/client/widgets/RestaurantTicketsAdapter.java 

no changes added to commit (use "git add" and/or "git commit -a") 

Ich muss offensichtlich eine Datei hinzufügen mit:

git add app/src/main/java/fr/pasteque/client/BaseFlavor.java

Aber ich würde gerne in der Lage sein, zu schreiben: git add BaseFlavor.java

git add **/BaseFlavor.java funktioniert!

Aber die Vollendung, wie git add **/Base<tab>, nicht ..

Irgendwelche Ideen, wie es mit Abschluss funktioniert kann?

Vielen Dank im Voraus!

Antwort

1

Versuchen Sie git add **/Base*<tab> (beachten Sie die zusätzlichen *).

+2

Danke für Ihre Antwort! Es funktioniert aber komplett mit allen Dateien mit 'Base *'. Ich möchte, dass zsh nur mit den addierbaren Dateien vervollständigt wird. In diesem Fall sollte es nur mit BaseFlavor.java abgeschlossen werden – nsvir

0

Dies ist sehr praktisch Bash-Skript, das Ihnen helfen kann: http://code-worrier.com/blog/autocomplete-git/

Sie nicht git add **/filename* aber git add <tab> bieten Sie nur Dateien und Pfade verwenden können, die begehen bereit sind, untracked, etc Konflikte verschmelzen ..

0

Ich weiß, es ist keine exakte Antwort auf die Frage, aber es gibt ein sehr nützliches Tool von Facebook - PathPicker - Sie können nur modifizierte Dateien auswählen, die Sie hinzufügen möchten.