We wszystkich samouczkach Git, które przeczytałem, mówią, że możesz:
git init
git add .
git commit
Kiedy to robię, otwiera się duży plik tekstowy. Żaden z samouczków nie wydaje się rozwiązać tego problemu, więc nie wiem, co zrobić z plikiem ani co w nim umieścić, jeśli cokolwiek.
git
git-commit
losowy
źródło
źródło
--global
aby zmienić ustawienie domyślne?--global
zmieniłaby je dla bieżącego użytkownika i--system
zmieniłaby je dla wszystkich na tym komputerze.Jak wspomniał Ben Collins , bez rozszerzenia
-m "..."
argumentu wpisującego zatwierdzenie w wierszu (co jest ogólnie złym pomysłem, ponieważ zachęca do bycia zwięzłym), ten "duży plik tekstowy", który jest otwierany jest oknem, w którym można wpisać komunikat o zatwierdzeniu .Zwykle zaleca się napisanie podsumowania w pierwszej linii, pominięcie linii, a następnie umieszczenie bardziej szczegółowych notatek pod spodem; pomaga to programom, które wykonują takie rzeczy, jak wysyłanie wiadomości e-mail z zatwierdzeniem z odpowiednim wierszem tematu i pełną listą zmian wprowadzonych w treści.
Zamiast zmieniać
EDITOR
zmienną powłoki, możesz także zmienić używany edytor, dodając dodatkowe linie w swoim~/.gitconfig
pliku:Ta druga linia właściwie nie ma nic wspólnego z twoim problemem, ale uważam ją za bardzo użyteczną, więc mogę wypełnić mój
~/.gitignore
plik tymi wszystkimi typami plików, o których wiem , że nigdy, przenigdy nie będę chciał zatwierdzić repozytorium.źródło
Otwierany plik tekstowy jest podsumowaniem aktualnej operacji zatwierdzania. Zatwierdzenie git przenosi cię do tego pliku, więc możesz dodać komunikat o zatwierdzeniu na górze pliku. Po dodaniu wiadomości po prostu zapisz i zamknij ten plik.
W poleceniu tym znajduje się również przełącznik „-m msg”, który umożliwia dodanie komunikatu o zatwierdzeniu w wierszu poleceń.
źródło
Jeśli korzystasz z Mac OS X i korzystasz z BBEdit, możesz ustawić to jako edytor z wyboru dla komunikatów o zatwierdzeniach:
Po zakończeniu edycji zapisz i zamknij plik, a git użyje go do komentarzy.
źródło
Zakładając, że domyślnym edytorem jest vi / vim, możesz wyjść z edytora komunikatów o zmianach, wpisując:
co zapisze i zamknie plik komunikatu o zmianach. Następnie wrócisz do normalnej sekcji poleceń git.
Więcej poleceń vi:
http://www.lagmonster.org/docs/vi.html
źródło
esc
aby przejść do trybu poleceń, zanim wpiszesz,:x
aby zapisać i wyjść.Jak wszyscy powiedzieli, jest to tylko miejsce, w którym dodajesz komentarz do zatwierdzenia - ale dla niektórych może to być mylące, szczególnie jeśli nie skonfigurowałeś ustawień edytora i nie jesteś świadomy tego, czym jest VI : wtedy możesz być w szoku , ponieważ pomyślisz, że nadal jesteś w GIT-Bash
W takim przypadku jesteś w edytorze tekstu i masz kilka interesujących sposobów radzenia sobie z różnymi problemami, a ten zestaw poleceń może ci pomóc, abyś mógł ominąć pierwsze zatwierdzenie, a następnie skonfigurować edytor, który znasz lub używać go jako możliwość nauczenia się, jak go używać.
źródło
-m
Opcja popełnić pozwala wprowadzić commit wiadomość z wiersza poleceń:źródło
Kiedy tworzysz nowy commit, git uruchamia edytor tekstu i zapisuje w nim kilka rzeczy.
Używając tego edytora tekstu, zamierzasz napisać wiadomość o zatwierdzeniu, która będzie powiązana z twoim cielesnie utworzonym zatwierdzeniem.
Po zakończeniu zapisz i zamknij edytor tekstu. Git użyje tego, co napisałeś jako wiadomość do zatwierdzenia.
Komunikat zatwierdzenia ma określoną strukturę, opisaną w następujący sposób:
Pierwsza linia komunikatu o zatwierdzeniu jest używana jako nagłówek (lub tytuł) wiadomości. Preferowana długość nagłówka zatwierdzenia jest mniejsza niż 40 znaków, ponieważ jest to liczba znaków, które github wyświetla na karcie Commits danego repozytorium przed jego obcięciem, co niektórzy uważają za irytujące.
Podczas tworzenia nagłówka powszechną praktyką jest użycie czasownika w czasie teraźniejszym pisanym wielką literą dla pierwszego słowa, choć nie jest to wcale wymagane.
Jeden nowy wiersz wyznacza nagłówek i treść wiadomości.
Ciało może składać się z tego, co chcesz. Przegląd zmian wprowadzonych przez Twoje zatwierdzenie jest rozsądny. Niektóre aplikacje innych firm używają informacji zawartych w treści komunikatów o zatwierdzeniu, aby wyzwalać różne rodzaje zaczepów (myślę, że Gerrit i Pivotal Tracker, żeby wymienić dwa).
Oto krótki i słodki przykład. Wiodący
#
oznacza komentarz.Tutaj jeden pan Torvalds wypowiada się na temat tego, co jest dobrym zobowiązaniem.
I tutaj Tpope robi podobnie.
Jak stwierdzono w kilku innych odpowiedziach, zmiana domyślnego edytora to jedna linijka w linii poleceń.
Moje preferencje:
źródło
Po wpisaniu wiadomości spróbuj Escape, a następnie ZZ. Jak powiedzieli inni, po uruchomieniu tego polecenia commit w rzeczywistości uruchamia edytor tekstu, do którego wprowadza wiadomość. W moim przypadku (OS X) był to VI, który odkryłem po pewnym czasie. W takim przypadku naciśnij Escape, aby przejść do trybu „poleceń” (w przeciwieństwie do trybu INSERT) i wprowadź ZZ. Jestem pewien, że istnieją inne sposoby wykonania tego zadania, ale to wystarczyło. Ponieważ nigdy nie korzystałem z VI ani emacsa, nie było to dla mnie oczywiste i nie zostało wspomniane w żadnym z podręczników dla początkujących, których używałem. Mam nadzieję, że to pomoże.
źródło
git commit
Polecenie otworzy edytor określonym wEDITOR
zmiennej środowiskowej, dzięki czemu można wprowadzić popełnić komentarz. W systemie Linux lub BSD powinno to być domyślnie vi, chociaż każdy edytor powinien działać.Wystarczy wpisać swoje uwagi i zapisać plik.
źródło
Byłem zdezorientowany, ponieważ próbowałem wprowadzić nazwę pliku po: w w VIM. To nie powoduje zatwierdzenia. Zamiast tego otrzymywałem komunikat „Przerwanie zatwierdzenia z powodu pustego komunikatu zatwierdzenia”. Nie umieszczaj nazwy pliku po: w. : w domyślnie zapisuje plik w .git / COMMIT_EDITMSG. Następnie: q aby zakończyć i zakończyć zatwierdzanie. Możesz zobaczyć wyniki za pomocą dziennika git.
źródło
Teraz, gdy zmieniłem edytor na emacs, wszystko działa dobrze.
Ale zanim to ustawiłem, polecenie „git commit -a” otworzyło program gedit, ale również natychmiast zakończyło się komunikatem „Aborting commit due to empty commit message.”. Zapisanie pliku z gedit nie przyniosło żadnego efektu. Jawne ustawienie edytora z opcją "git config --global core.editor" gedit "" dało ten sam wynik.
Nie ma nic złego w emacsie, ale z ciekawości, dlaczego to nie działa z gedit i czy jest jakiś sposób, aby to zadziałało?
Dzięki.
źródło
git config --global core.editor "gedit -s"
Dla tych z Was, którzy używają OS XI, to polecenie działa dobrze:
git config --global core.editor "open -t -W"
co zmusi git do otwarcia domyślnego edytora tekstu (w moim przypadku textedit), a następnie zaczekania na zamknięcie aplikacji. Pamiętaj, że musisz napisać „Save”, a następnie „Quit”, zanim zatwierdzenie zostanie wykonane. Istnieje kilka innych poleceń, z którymi możesz się bawić, jak opisano na tej stronie:
Biblioteka programisty Apple - polecenie Otwórz
Możesz także spróbować,
git config --global core.editor "open -e -W"
jeśli chcesz, aby git zawsze otwierał textedit, niezależnie od tego, jaki jest domyślny edytor.źródło
Tak, upewnij się, że masz rozsądny zestaw edytorów. Nie jestem pewien, jaki będzie domyślny edytor, ale jeśli, tak jak ja, jest to nano (powie gdzieś u góry po wpisaniu zatwierdzenia), wystarczy wpisać komentarz, a następnie nacisnąć Ctrl-x, aby zakończyć. Następnie naciśnij y, a następnie Enter, aby potwierdzić zatwierdzenie.
Ponadto, jeśli chcesz zobaczyć prostą listę plików, które będziesz zatwierdzać, zamiast ogromnej listy różnic, spróbuj wcześniej
źródło
Wykonując kontrolę wersji, zawsze powinieneś wyjaśnić, jakie zmiany wprowadziłeś. Zwykle za pierwszym razem pojawia się komentarz, taki jak „Wstępne zatwierdzenie”.
Jednak na dłuższą metę chcesz zrobić dobry komentarz do każdego zatwierdzenia. Będziesz chciał czegoś w formie:
źródło
Będąc nowicjuszem w Terminalu, „Escape, a potem ZZ” zadziałało dla mnie. Miałem ten problem od miesięcy i nie mogłem znaleźć sposobu na obejście tego problemu.
Dzięki TheGeoff za prostą radę!
źródło
Oto prawdopodobnie najłatwiejszy sposób zatwierdzania wszystkich zmian:
Oczywiście istnieją znacznie bardziej szczegółowe sposoby angażowania się, ale to powinno zacząć.
źródło