2016-10-21 3 views
6
bd = "!f() { git branch --merged | egrep -v '(^\*|master|dev)' | xargs git branch -d }; f" 

Ich versuche, einen Git-Befehl zu aliasieren, um alle meine lokalen zusammengeführten Zweige zu entfernen.
Wenn ich den Befehl bash in meine gitconfig setzen, wie oben, klagt git über eine schlechte Config-line:
fatal: bad config line 26 in file /Users/johnsona/.gitconfigWarum ist das eine schlechte Konfigurationszeile für meine .gitconfig?

+0

Haben Sie es im Abschnitt "[Alias]"? – twalberg

Antwort

5

Ich würde empfehlen, dieses ein Bash-Skript in Ihrem PATH stattdessen zu machen, und dann das Skript in Ihrem git Aufruf Alias ​​stattdessen (oder wenn es sowieso in Ihrem PATH ist, benennen Sie einfach die Datei git-bd).

Zum Beispiel machen die Datei ~/bin/git-bd

#!/usr/bin/env bash 
git branch --merged | egrep -v '(^\*|master|dev)' | xargs git branch -d 

die ausführbare Datei Stellen mit dem Befehl:

chmod +x ~/bin/git-bd 

Und stellen Sie sicher, dass Ihre .bashrc, .bash_profile oder .bash_login Datei die Zeile hat:

export PATH="$HOME/bin:$PATH" 

Und Sie ca n entweder rufen Sie einfach git-bd direkt oder fügen Sie den Alias ​​in Ihrem .gitconfig wie so:

bd = "!git-bd" 

zu dieser Antwort hinzuzufügen, der Grund, warum Sie sind eine schlechte Konfiguration Fehler bekommen kann aufgrund der Back-Schrägstriche sein. Die git-config liest sie so, wie sie sind, also müssen Sie sie mit einem zweiten Backslash wieder verlassen.

+0

IMO sollten Sie Ihren letzten Absatz zuerst, weil es die Frage vor der Abgabe einer Empfehlung beantworten würde. –

+0

Wenn Sie denken, dass das eine gute Idee ist, zögern Sie nicht zu bearbeiten. Das macht Sinn für mich, aber ich bin jetzt auf meinem Handy und kann die Bearbeitung nicht selber machen –

+0

Wäre es möglich, die Funktion in mein '.bash_profile' zu ​​schreiben und dann die gitconfig den Befehl von dort referenzieren zu lassen? – johnsona

Verwandte Themen