2016-05-26 1 views
1

Je veux avoir un alias qui vous permet d'ajouter un fichier, de le valider et de le pousser.Commande Git alias pour ajouter/valider/pousser avec plusieurs entrées

J'ai commencé avec ceci:

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

Mais chaque fois que je mets dans une entrée, je reçois un fichier non trouvé erreur:

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

Idéalement je veux pouvoir écrire:

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

J'ai ce travail, mais je ne peux pas le faire fonctionner avec une entrée pour ajouter:

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

Qu'est-ce qui ne fonctionne pas lorsque vous avez un argument d'entrée pour ajouter ? Remplacer '--all' par' $ 1' et '$ {1: -commit}' par '$ {2: -commit}' devrait fonctionner correctement. –

Répondre

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

Cela devrait être suffisant pour fonctionner avec votre syntaxe:

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

Je l'ai testé cela comme suit:

$ 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

Je reçois toujours la même erreur. Le fichier est définitivement dans le répertoire. – Petar

+0

Vérifiez mes modifications; Je suis en train de tester cela avec Git 2.8.3. – Will

+0

Exécution de la même version. Je ne peux même pas obtenir 'acp ="! F() {git add \ "$ 1 \";}; f "' pour fonctionner. – Petar