2016-05-26 5 views
1

Ich möchte einen Alias ​​haben, mit dem Sie eine Datei hinzufügen, commit und schieben Sie es.Git alias Befehl für add/commit/push mit mehreren Eingängen

begann ich mit diesem aus:

[alias] 
    acp = "!f() { git add $1; }; f" 

Aber immer, wenn ich in einem Eingang setzen, erhalte ich eine Datei nicht gefunden Fehler:

fatal: pathspec 'test.txt' did not match any files 

Ideal zu schreiben Ich möchte in der Lage sein:

Ich habe dies funktioniert, aber ich kann es nicht mit einem Eingang für hinzufügen arbeiten:

acp2 = "!f() { git add --all; git commit -m \"${1:-commit}\"; git push origin master; }; f" 
+0

Was nicht funktioniert, wenn Sie fügen Sie ein Eingabeargument haben ? Das Ändern von "all" zu "$ 1" und "$ {1: -commit}' zu "$ {2: -commit}' sollte gut funktionieren. –

Antwort

1
[alias] 
acp = "!f() { git add \"$1\"; git commit -m \"${2:-commit}\"; git push origin master; }; f" 

Dies sollte mit Syntax genug sein, um zu arbeiten:

git acp 'myfile.txt' 'my commit message' 

ich dies wie folgt getestet:

$ echo>test 
$ git acp test "the message" 
[master 9b81eb2] the message 
1 file changed, 1 insertion(+) 
create mode 100644 test 

$ cat .git/config 
... 
[alias] 
    acp = "!f() { git add \"$1\"; git commit -m \"${2:-commit}\"; }; f" 
$ 
+0

Ich bekomme immer noch den gleichen Fehler. Die Datei befindet sich definitiv im Verzeichnis. – Petar

+0

Überprüfen Sie meine Bearbeitung; Ich teste das mit Git 2.8.3. – Will

+0

Ausführung derselben Version. Ich kann nicht einmal 'acp = "! F() {git add \" $ 1 \ ";}; f" 'zum arbeiten bekommen. – Petar