2013-08-15 12 views
9

Tęskniłem klawisza tab przed naciśnięciem klawisza Enter na moim lokalnym oddziale git, skończyło się wykonanie:Jaka komenda git nie zrobić z „git zresetować --har”

git reset --har 

kontra zamierzonej

git reset --hard 

Zazwyczaj git uskarża się na polecenie, które wydaje się być źle wpisane. Przejrzałem --help dla resetowania git i nie znalazłem argumentów dla "h", "a", "r".

Wygląda na to, że uruchomił twardy reset, co faktycznie uruchomił? Lub jeśli to działało "-" dlaczego?

Dodatkowe informacje: sylvesterjakubowski $ git version git wersja 1.7.12.4 (Apple Git-37) #on Mountain Lion.

Odpowiedz

6

To jak na stronie gitcli Doc:

wiele poleceń umożliwić długa opcja „--option” zostać skrócona tylko do ich unikalny prefiks (np jeśli nie ma innej opcji, której nazwa zaczyna się od "opt", możesz być w stanie przeliterować "--opt", aby wywołać flagę "--option" ), ale powinieneś w pełni je przeliterować, pisząc skrypty: ; późniejsze wersje Git mogą wprowadzić nową opcję, której nazwa ma taki sam prefiks, np. "--optimize", aby krótki prefiks , który był unikatowy, nie był już unikalny.

Również na tej samej stronie:

Polecenia, które obsługują rozszerzonych opcji parser przyjmuje unikalny prefiks długiej opcji, jak gdyby w pełni sprecyzować, ale to wykorzystać z ostrożnością. Na przykład git commit --amen zachowuje się tak, jakbyś wpisał git commit --amend, ale jest to prawdą tylko do późniejszej wersji Git wprowadza inną opcję, która ma ten sam prefiks, np. `Git commit --amenity" opcja.

Więc tak, że zabrakło git reset --hard

3

Nie działał na odpowiedniku -h -a -r, ponieważ istnieją dwa poprzedzające kreski, a nie jeden.

Git może implementować tutaj algorytm, aby umożliwić korzystanie z najkrótszego unikalnego dopasowania dla długiej nazwy flagi. Ponieważ brak długich flag dla git reset zaczyna się od --har, mógł potraktować żądanie jako jednoznaczne i przejść do uruchomienia git reset --hard.

+2

Tak, robi to git. – amalloy

Powiązane problemy