2013-04-16 12 views
38

brania this krok dalej, w jaki sposób ta praca w standardowej powłoki bash:Użycie apostrofu (pojedynczego cudzysłowu) w komunikacie zatwierdzania git za pośrednictwem wiersza polecenia?

git commit -m 'cracked enigma's code' 

może to być po prostu zrobić z backslash-uciekając tak:

git commit -m 'cracked enigma\'s code' 

Ponadto, jak można można użyć podwójnych cudzysłowów? Również przez ukośnik odwrotny? Czy to byłby najlepszy sposób? Czy są jakieś dobre alternatywne sposoby?

git commit -m 'cracked the "real" enigma's code' 
+3

* "Czy to może być po prostu wykonane z odwrotny ukośnik uciekający jak "*: Możesz po prostu spróbować sam i dowiedzieć się! –

+0

@FelixKlikanie prawda, ale jestem początkującym gitem i nie czuję jeszcze odwagi. –

+1

To nie ma nic wspólnego z odwagą. Zawsze możesz utworzyć puste repozytorium git, utworzyć jeden plik, utworzyć commit, a następnie zobaczyć, jaki jest wynik. Samo pytanie jest oczywiście OK. –

Odpowiedz

61

użyć cudzysłowów:

git commit -m "cracked enigma's code" 

Lub, jeśli wiadomość zawiera inne znaki specjalne, należy użyć cudzysłów lub backslash tylko dla pojedynczego Cytat:

git commit -m 'cracked $enigma'"'"'s code' 
git commit -m 'cracked $enigma'\''s code' 
+2

jaki jest znak '$'? czy to nie jest coś, co definiuje zmienną? (przepraszam, jeśli to jest zbyt bash-basic ...) –

+2

To tam pokazuje, dlaczego proste podwójne cudzysłowy nie działają. Możesz spróbować z 'echo' zamiast' git commit -m' – choroba

+10

Zasadniczo dlatego, że wewnątrz cudzysłowów zmienne są rozszerzane; a '$ enigma' będzie odniesieniem zmiennym. Jeśli chcesz, aby wiadomość zawierała prawdziwy znak dolara, nie możesz używać podwójnych cudzysłowów. – poke

13

Nie ma potrzeby, aby uciec znak ' jeśli popełnić jest podwójnie cytowane.

git commit -m "cracked enigma's code" 

EDIT: W każdym razie, jeśli masz jakieś znaki specjalne, aby dodać do wiadomości popełnienia wolę edytować w edytorze (np nano lub vim) zatwierdzanie bez opcji -m.

git commit 

Następnie umieścić wiadomość i wyjść. Jest wygodniejszy, zamiast myśleć, jak uciec od tych wszystkich cytatów i podwójnych cytatów.

+0

Nie jest prawdą, że dopasowanie wzorca 'git commit -m 'nie było wyczerpujące, skalak!" Na OSX, git 2.15.1. Działa, gdy zostawiam wykrzyknik. Dziwne rzeczy. –