Jak sprawić, by Git używał mojego edytora do zatwierdzania zmian?


2547

Wolałbym pisać wiadomości z zatwierdzeniami w Vimie, ale otwiera je w Emacsie.

Jak skonfigurować Git, aby zawsze korzystał z Vima? Zauważ, że chcę to zrobić globalnie, nie tylko dla jednego projektu.


201
„Jak skłonić gita do przejścia do vima w celu zatwierdzania komentarzy od git-go?”
Michael Burr,

Odpowiedzi:


3484

Jeśli chcesz ustawić edytor tylko dla Git, wykonaj jedną z tych czynności (nie potrzebujesz obu):

  • Ustaw core.editorw konfiguracji Git:git config --global core.editor "vim"
  • Ustaw GIT_EDITORzmienną środowiskową:export GIT_EDITOR=vim

Jeśli chcesz ustawić edytor dla Git i innych programów , ustaw standardowe VISUALi EDITORzmienne środowiskowe *:

export VISUAL=vim
export EDITOR="$VISUAL"

* Ustawienie obu nie jest konieczne, ale niektóre programy mogą nie używać bardziej poprawnych VISUAL. Zobacz VISUALvsEDITOR .


Dla Sublime Text : Dodaj to do .gitconfig. Jest --waitto ważne (pozwala na wpisywanie tekstu w wysublimowany sposób i będzie czekać na zdarzenie zapisu / zamknięcia).

[core]
    editor = 'subl' --wait

„subl” można zastąpić pełną ścieżką do pliku wykonywalnego, ale zwykle jest dostępny, jeśli jest poprawnie zainstalowany.


96
Zaletą zmiennej środowiskowej EDITOR jest to, że wiele innych programów również ją uszanuje.
Boojum

16
Zauważ, git config --globalże zapisałby do twojego osobistego pliku konfiguracyjnego git. Tak jest w Unices ~/.gitconfig. To skonfiguruje to dla wszystkich twoich repozytoriów.
Jakub Narębski

42
możesz przetestować, czy pomyślnie go zmieniłeś, próbując zmienić ostatnią wiadomość zatwierdzenia. git commit --amend
Marco M.

11
Jeśli robisz opcję nr 1 w systemie Windows i masz spacje w ścieżce do edytora (powiedzmy, jeśli znajduje się w folderze Program Files), uderzaj pojedyncze cudzysłowy w swoje podwójne cudzysłowy. np. „C: / Program Files (x86) /Whthing/App.exe” ”- dla niektórych oczywisty, ale nie dla mnie!
Pablissimo

5
@Abramodj -wnie jest konieczne; -w {scriptout}zapisuje wszystkie znaki, które wpiszesz podczas edycji, aby odtworzyć później. Być może mylisz go -f, co jest konieczne, gdy wywołujesz wersję Vima z GUI. Oznacza to, że jeśli używasz mvim, to edytorem, który określisz, powinien być mvim -fzamiast mvim.
Rory O'Kane

617

Skopiuj wklej to:

git config --global core.editor "vim"

Na wypadek gdybyś chciał wiedzieć, co robisz. Od man git-commit:

ZMIENNE ŚRODOWISKA I KONFIGURACJI

Edytor używany do edycji komunikatu dziennika zatwierdzenia zostanie wybrany ze GIT_EDITORzmiennej środowiskowej, zmiennej core.editorkonfiguracyjnej, zmiennej VISUALśrodowiskowej lub EDITORzmiennej środowiskowej (w tej kolejności).


4
Btw, powyższe jest prawdą dla CVS i SVN i, jak sądzę, inne kontrole wersji.
armandino,

6
@armandino: Tak, inni mogą używać VISUALlub EDITOR, ale na pewno nie używają GIT_EDITORlub core.editor.
Mark Rushakoff,

8
Tak - svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2 Więc teoretycznie, jeśli używam zarówno svn, jak i git, ustawienie $ VISUAL lub $ EDITOR być najlepszym rozwiązaniem, aby objąć oba domyślnie!
brasskazoo

12
Ze względu na kompletność, core.editor oznacza [core] editor = ... w pliku
JRG

2
Nie odpowiedział na pytanie „Jak skonfigurować git ...”
Ant6n

192

W Ubuntu i Debianie (dzięki @MichielB) zmiana domyślnego edytora jest również możliwa poprzez uruchomienie:

sudo update-alternatives --config editor

Co spowoduje wyświetlenie następujących informacji:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 

8
Na Debianie to również działa, dzięki! Domyślnie jest to piko - argh.
MichielB

2
Oczywiście działa na Debianie; jest to funkcja Debiana, która podobnie jak większość rzeczy (och, kontrowersyjny!), Ubuntu po prostu dziedziczy. alternativesSystem Debiana jest znacznie łatwiejszym sposobem zarządzania ustawieniami domyślnymi dla obsługiwanych typów programów. Dla odniesienia: debian-administration.org/article/91/…
underscore_d

To działa, natomiast GIT_EDITORa EDITOR nie działać --ubuntu
Ninja

Brak opcji dla Emacsa? Jeśli to prawda, szkoda!
haziz

2
@haziz update-alternativespokaże wszelkie edytory, które zostały zainstalowane. Koen po prostu nie ma zainstalowanego Emacsa.
Major

59

W Windows 7, podczas dodawania edytora „Sublime” nadal pojawiał się błąd:

Przerwanie zatwierdzenia z powodu pustego komunikatu zatwierdzenia.

Sublime nie był w stanie utrzymać ostrości.

Aby to naprawić, otworzyłem plik .gitconfig w folderze c: / users / username / i dodałem następujący wiersz z opcją --wait poza podwójnymi cudzysłowami.

[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait

Mam nadzieję, że okaże się pomocny dla kogoś, kto ma podobny problem z Sublime.


Miły! Dzięki Anmol, miałem ten problem, w którym popełnił on pustą wiadomość.
ddavison

Dlaczego miałbyś chcieć używać wzniosłych poleceń git?
Adam F

13
Każdy edytor git commit będzie używany głównie do dodawania wielu linii komentarzy, a Sublime jest wyborem programisty z różnych powodów dla wielu programistów. Ludzie zazwyczaj mają tendencję do używania jednego edytora do większości swoich prac programistycznych. Sublime to tylko osobisty wybór, może być dowolnym edytorem.
Anmol Saraf

4
Właśnie dowiedziałem się, że pojedyncze cudzysłowy są wymagane. Nie działa z podwójnymi cudzysłowami. ”
dotnetCarpenter

1
Zamiast ręcznie edytować gitconfig, możesz użyć tego poleceniagit config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
KayakinKoder

53

W systemie Windows 7 ustawienie edytora na Notepad ++

  • Otwórz dowolny edytor tekstu.
  • Otwórz ten plik: C:\Users\YOUR_USERNAME\.gitconfig
  • Dodaj tę sekcję na dole:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Zapisz i zamknij plik.
  • Kiedy robisz to z git, po prostu pisz git commiti naciśnij Enter. Otworzy się Notepad ++.
  • Napisz wiadomość zatwierdzenia na górze pliku, a następnie zapisz i zamknij plik. Gotowy!

wreszcie ktoś, kto umie to napisać prosto! Dzięki. Ale powinieneś wspomnieć, że w ścieżce do notatnika należy użyć „/” lub podwójnego ukośnika odwrotnego „\\”, w przeciwnym razie git będzie narzekać ...
icl7126 19.04.13

10
Konieczne może być dodanie przynajmniej -multiInstparametru do notatnika ++ i ewentualnie -notabbar. Zrób to, jeśli git nie wie, kiedy skończyłeś edycję pliku i albo czeka wiecznie, albo wcale.
ErikE

1
Właśnie tego chciałem. Porównaj użycie \ i /
Henry

4
aby ustawić konfigurację w wierszu polecenia, potrzebuję podwójnych cudzysłowów w pojedynczych cudzysłowach, takich jak>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
Josef

2
Aby dodać parametry Notepadd ++, musiałem to zrobić: editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar- to znaczy parametry poza ograniczającymi pojedynczymi cudzysłowami
cropredy

30

Aby ustawić Visual Studio Code (vscode) jako domyślny edytor git

git config --global core.editor "code --wait"

24

A jeśli pracujesz z projektantami za pomocą wiersza poleceń, to Pico i nie znasz skrótów;)

git config --global core.editor "pico"

Lub

export VISUAL=pico
export EDITOR=pico

18

Atom jako edytor git

git config --global core.editor "atom --wait"

Atom musi być skonfigurowany do działania z wiersza poleceń, aby powyższe działało:

OS X : zainstaluj polecenia powłoki z Atom: pasek menu> Atom> Zainstaluj polecenia powłoki

Windows : nie jest wymagana żadna akcja - domyślnie atom jest skonfigurowany do działania z wiersza poleceń


17

Ustawienie Sublime Text 2 jako edytora zatwierdzeń Git w Mac OSX 10

Uruchom to polecenie:

$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"

Lub tylko:

$ git config --global core.editor "subl -w"

Jakoś nie dostarcza tekstu do git. Otrzymałem komunikat „Przerwanie zatwierdzania z powodu pustego komunikatu zatwierdzenia”. błąd.
Mahendran,

Użyłem pierwszego polecenia, aby skonfigurować SL. cmd + S, a następnie cmd + W, aby zamknąć edytor
Mahendran

2
Program Visual Studio Code obsługuje również ten -wparametr. Na przykład. $ git config --global core.editor "code -w". Schludne rzeczy
Automatico

Alternatywna odpowiedź tutaj: stackoverflow.com/a/48212377/4561887 , z przykładem Linuksa.
Gabriel Staples

13

Windows: ustawianie notatnika jako domyślnego edytora komunikatów zatwierdzania

git config --global core.editor notepad.exe

Naciśnij Ctrl+, Saby zapisać wiadomość zatwierdzenia. Aby odrzucić, po prostu zamknij okno notatnika bez zapisywania.

Jeśli naciśniesz skrót do zapisywania, a następnie zdecydujesz się przerwać, przejdź do Plik-> Zapisz jako, aw otwartym oknie dialogowym zmień „Zapisz jako typ” na „Wszystkie pliki (*. *)”. Zobaczysz plik o nazwie „COMMIT_EDITMSG”. Usuń go i zamknij okno notatnika.

Edycja: Ewentualnie i łatwiej usuń całą zawartość z otwartego okna notatnika i naciśnij Zapisz. (dzięki mwfearnley za komentarz!)

Myślę, że w przypadku małych wpisów, takich jak komunikaty zatwierdzeń, notatnik najlepiej działa, ponieważ jest prosty, jest dostępny z oknami, otwiera się w mgnieniu oka. Nawet twój wzniosły może zająć sekundę lub dwie, aby zostać zwolnionym, gdy masz mnóstwo wtyczek i innych rzeczy.


2
Zamiast przejść do Plik-> Zapisz jako, możesz wyczyścić plik (lub skomentować niepuste wiersze), a następnie Git przerwie pracę z powodu pustej wiadomości zatwierdzenia.
mwfearnley

@Stepan Czy zmieniacie zatwierdzenie? Jeśli tak, to domyślam się, że ma to związek z \r\n(nowa linia w systemie Windows) i \n(nowa linia w systemie Linux, również domyślna dla Git).
Sнаđошƒаӽ

lepiej dodaj linię w ten core.editor = 'notepad' .git/COMMIT_EDITMSG --waitsposób, aby otworzyła się i
zapisała

12

To zapewnia odpowiedź dla osób, które dotrą do tego pytania, które mogą chcieć połączyć edytor inny niż vim.

Połączony zasób Github prawdopodobnie będzie aktualizowany, gdy edytory są aktualizowane, nawet jeśli odpowiedzi na SO (w tym ten) nie są.

Kojarzenie edytorów tekstu z git

Wpis Githuba pokazuje dokładnie, co wpisać w linii poleceń dla różnych edytorów, w tym opcje / flagi specyficzne dla każdego edytora, aby działał najlepiej z git.

Notepad ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Wzniosły tekst:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

Atom:
git config --global core.editor "atom --wait"

Powyższe polecenia zakładają, że edytor został zainstalowany w domyślnym katalogu dla komputera z systemem Windows.

Komendy w zasadzie dodają tekst między podwójnymi cudzysłowami do .gitconfigtwojego katalogu domowego.
Na komputerze z systemem Windows prawdopodobnie znajduje się dom C:\Users\your-user-name, gdzie nazwa użytkownika to nazwa logowania.
Z wiersza poleceń możesz przejść do tego katalogu, wpisując cd ~.

na przykład powyższe polecenie spowoduje dodanie następującego wiersza w [core]sekcji tak:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

Jeśli masz inny edytor, po prostu zastąp go ścieżką do edytora, używając jednej z powyższych metod. (i mam nadzieję, że żadne flagi nie są potrzebne do optymalnego wykorzystania).


Dzięki, miałem problem z faktem, że właśnie „vim” uruchomił instancję „wewnętrznego” vima dla Gita (bez moich preferencji itp.). Podanie pełnej ścieżki do mojej instancji rozwiązało problem!
benichka

10

Dla użytkowników emacsa

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient

6
Oto, jak ustawić emacsa w trybie terminalowym podczas komendgit config --global core.editor "emacs -nw"
kukinsula

Używam git config --global core.editor "emacs -nw -q", gdzie -qpomija pliki inicjujące.
miguelmorin

8

Najlepsze ustawienia dla Sublime Text 3 jako edytora Git (instrukcje dla Windows i Linux):

Aby postępować zgodnie z tymi instrukcjami w systemie Windows, upewnij się, że zainstalowałeś Git dla Windows . W Windows lubię używać Git Bash, aby bardziej przypominał Linuksa.

Po pierwsze, chcemy stworzyć specjalny projekt Sublime Text, abyśmy mogli określić specjalne ustawienia projektu, które chcemy ustawić za każdym razem, gdy Git wywołuje edytor, aby ułatwić edycję w Git. Na przykład normalnie ustawiam linijkę na 120 znaków w większości projektów, ale dla wiadomości Git commit chcę, aby miała 72 znaki, aby ładnie pasowała do terminala, gdy dzwonisz git loglub git lg.


1. Utwórz projekt Sublime Text z ustawieniami, których chcemy użyć do edycji wiadomości Git commit

Otwórz Sublime Text i przejdź do menu „Plik”„Nowe okno”, aby utworzyć nowy anonimowy projekt. Przejdź do menu „Projekt”„Zapisz projekt jako ...” i wybierz miejsce, aby go zapisać. W systemie Linux zapisałem go w katalogu domowym Linuksa z nazwą pliku .gitconfig.sublime-project. Jego ścieżka jest zatem: ~/.gitconfig.sublime-project. W systemie Windows zapisz go również w katalogu domowym, na przykład: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Teraz przejdź do menu „Projekt”„Edytuj projekt”, aby edytować ustawienia projektu. Wklej poniższe i zapisz ustawienia. W razie potrzeby wprowadź dalsze zmiany ustawień projektu.

{
    // For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html

    "folders":
    [

    ],

    "settings":
    {

        // Disables horizontal scrolling if enabled.
        // May be set to true, false, or "auto", where it will be disabled for
        // source code, and otherwise enabled.
        "word_wrap": false,

        // Set to a value other than 0 to force wrapping at that column rather than the
        // window width
        "wrap_width": 0,

        // Columns in which to display vertical rulers
        "rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles

        // The number of spaces a tab is considered equal to
        "tab_size": 4,

        // Set to true to insert spaces when tab is pressed
        "translate_tabs_to_spaces": true,
    },

    "build_systems":
    [

    ]

}

2. Ustaw edytor do użycia przez Git

Teraz musimy ustawić edytor do użycia przez Git, edytując .gitconfigplik.

W systemie Linux:

Twoja kopia tego użytkownika będzie znajdować się w ~/.gitconfig. Otwórz ten plik i dodaj następujące wiersze. Pamiętaj, aby użyć prawidłowej nazwy ścieżki do projektu Git, który właśnie utworzyłeś powyżej! Używam ~/.gitconfig.sublime-project.

[core]
    editor = subl --project ~/.gitconfig.sublime-project --wait

Jest --waitto ważne, ponieważ zmusza Gita do czekania, aż zamkniesz plik, zanim będzie kontynuowany. --projectLinia jest ważne, aby powiedzieć Sublime Text który projekt, który chcesz otwarty gdy Git otwiera Sublime Text.

Zgodnie z powyższą odpowiedzią @ digitaldreamer ( https://stackoverflow.com/a/2596835/4561887 ) „ sublmożna zastąpić pełną ścieżką do pliku wykonywalnego, ale [alias subl] jest zwykle dostępny, gdy [Sublime jest] poprawnie zainstalowany”.

Dla Windowsa:

W przypadku systemu Windows najpierw przeczytaj instrukcje systemu Linux, aby uzyskać dodatkowe informacje. Teraz zrobimy coś prawie identycznego.

(OPCJONALNIE: utwórz sublalias do użytku w Git Bash):

Otwórz edytor tekstu (na przykład Notepad, Notepad ++, Sublime Text, Geany itp.) I utwórz plik o nazwie „.bash_profile” w swoim katalogu domowym. Jego ścieżka będzie zatem: C:\Users\MY_USER_NAME\.bash_profile. Zapisz w nim następujące elementy:

alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"

Spowoduje to utworzenie aliasu Git Bash subl, którego możemy teraz używać w Git Bash dla Windows, aby łatwo otworzyć Sublime Text. Ten krok nie jest wymagany, ale jest przydatny do ogólnego użytku w Git Bash. Teraz możesz zadzwonić subl ., na przykład, w Git Bash, aby otworzyć nowy projekt Sublime Text w bieżącym katalogu.

(OBOWIĄZKOWY):

Edytuj .gitconfigplik znaleziony w katalogu domowym:, C:\Users\MY_USER_NAME\.gitconfigdodając do niego następujące elementy. Zwróć uwagę na subtelne zmiany w powyższych instrukcjach dla systemu Linux:

[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
  • Zauważ, że musisz podać pełną ścieżkę do pliku wykonywalnego Sublime Text. Zwróć uwagę na kierunek cięcia! Użyj /NIE, \aby oddzielić foldery w nazwie ścieżki! (Dzięki VonC za pomoc w zobaczeniu tego ).
  • Nasz sublalias, który utworzyliśmy dla Git Bash powyżej, nie działa tutaj, więc nie możesz go używać tak, jak w przykładzie z Linuksem, zamiast tego musisz podać całą ścieżkę, jak pokazano powyżej.
  • ~Symbol, jednak ma nadal działać, żeby dostać się do swojego katalogu domowego systemu Windows.

2.5 (Opcjonalnie) Zainstaluj pakiet „Git” w Sublime Text 3.

Zapewnia to podświetlanie składni git commitwiadomości, a także dostęp do innych poleceń Git, takich jak git blame(których często używam w Sublime Text) lub git commit(których nie używam w Sublime Text, ponieważ wolę wiersz poleceń dla ogólnego Git przepływ, jak wspomniałem w moich komentarzach poniżej tej odpowiedzi).

Aby zainstalować pakiet: Najpierw upewnij się, że zainstalowano „Kontrola pakietów”. Następnie naciśnij Ctrl+ Shift+ P(tak samo jak Narzędzia → Paleta poleceń) i wpisz całość lub część „Kontrola pakietów: zainstaluj pakiet”, a następnie naciśnij Enter. W wyświetlonym polu wyszukiwania wyszukaj pakiet „Git” i kliknij Entergo lub kliknij, aby automatycznie zainstalować.

Po zainstalowaniu Ctrl+ Shift+, Pa następnie wyszukiwanie „git” spowoduje wyświetlenie poleceń Git, których możesz teraz używać wewnętrznie w Sublime Text, takich jak git blame.


3. Użyj go

Teraz, gdy git commitna przykład zadzwonisz , jak zwykle z wiersza poleceń, Sublime Text otworzy się w .gitconfig.sublime-projectutworzonym powyżej, z ustawieniami tego projektu! Podczas wpisywania akapitu zauważysz, że rozciąga się on poza linijkę, którą ustawiliśmy, ponieważ funkcja miękkiego zawijania słów jest wyłączona. Aby wymusić twarde zawijanie za pomocą automatycznie wstawianych zwrotów na końcu każdej linii, umieść kursor na długiej linii, którą chcesz automatycznie zawinąć i naciśnij Alt+ Q. Teraz będzie twardo zawijać / twardo składać przy 72 znakach, co ustawiliśmy w powyższym parametrze „linijki” ustawień projektu.

Teraz zapisz komunikat zatwierdzenia za pomocą Ctrl+ Si wyjdź (aby uzupełnić git commit) za pomocą Ctrl+ Shift+ W.

Gotowy!

Związane z:

  1. Git Fibletool z Meld na Windows
  2. https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles

1
To wygląda dość szczegółowo. +1
VCC

W Sublime Text 3 występuje teraz Git Committyp składni. Możesz teraz pominąć niestandardowy krok „projekt podniosły tekst”.
yegeniy,

Nie zgadzam się: dotyczy tylko podświetlania składni. Mój niestandardowy projekt nie dotyka podświetlania składni: ustawia linijki i daje kontekst, w którym twoje git zobowiązuje się otworzyć, aby nie otwierały się w żadnym projekcie, który miałeś lub miałeś ostatnio. Oba są ze sobą niezwiązane; zrób je oba.
Gabriel Staples,

Właśnie dodałem krok 2.5, ALE (nieco „ale” tutaj): Nie zawsze używam Sublime Text 3 jako mojego edytora (czasami używam Eclipse, ponieważ ma znacznie lepsze śledzenie i indeksowanie symboli niż Sublime, chociaż w przeciwnym razie jest to kiepski edytor w porównaniu do Sublime) i naprawdę wolę używać Gita z wiersza poleceń, więc zdecydowanie nie zalecam pomijania kroku 1, nawet jeśli zainstalujesz pakiet „Git” w Sublime, jak to właśnie opisano w kroku 2.5. Tak, możesz wykonywać Git Commits prosto z Sublime, ale wolałbym wiersz poleceń.
Gabriel Staples

WSKAZÓWKA: W przypadku korzystania sublimez gita także skorzystać trim_trailing_white_space_on_savechcesz dodać alias do plastra dodając ponieważ usunięcie spływu białych przerw kosmiczne krosowe edycje gdzie jest to bardzo istotne. Można to osiągnąć za pomocą czegoś takiego:git config --global alias.patch "-c core.editor=vim add --patch"
Timo

3

Mvim jako edytor git

Podobnie jak wszystkie inne aplikacje GUI, musisz uruchomić mvim z flagą wait.

git config --global core.editor "mvim --remote-wait"

--remote-wait-silentaby uniknąć brzydkiego komunikatu o błędzie :)
Shinigami

2

Użytkownicy systemu Windows, którzy chcą korzystać z neovim z podsystemem Windows dla systemu Linux:

git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"

To nie jest głupie rozwiązanie, ponieważ nie obsługuje interaktywnego rebasingu (na przykład). Ulepszenia bardzo mile widziane!


1

Po prostu spróbuj EDITOR=vim git commit.

Lub możesz ustawić swój EDYTOR na vim export EDITOR=vimw swoim bashrc.


1

Dla użytkowników TextWrangler ze sklepu Mac App Store:

git config --global core.editor "open -n -W -a TextWrangler"

Upewnij się także, że ustawienie „TextWrangler> Preferencje> Aplikacja> Gdy TextWrangler staje się aktywny:” jest ustawione na „Nie rób nic”

Działa to dla mnie na OS X 10.11.4 z TextWrangler 5.0.2 ze sklepu Mac App Store.

Wyjaśnienie:

W -n środki otworzyć w nowej instancji.

W -W środki czekać do wyjść Nakładanie Przed użyciem zawartość pliku edytowanego jak popełnić wiadomość.

W -a TextWrangler środki użyć aplikacji TextWrangler aby otworzyć plik.

Więcej informacji znajdziesz man openw aplikacji terminalu Mac.


Jeśli TextWrangler jest już otwarty, twoje rozwiązanie otworzy inną instancję z tym samym zestawem plików, co pierwsza. To wydaje się niebezpieczne.
Klaas,

Zainstalowałem narzędzia wiersza poleceń TextWrangler ( barebones.com/support/textwrangler/cmd-line-tools.html ), a następnie użyłem git config --global core.editor "edit -w". Spowoduje to otwarcie komunikatu zatwierdzenia w bieżącej instancji i jak tylko zamkniesz tylko ten dokument komunikatu zatwierdzenia, zatwierdzenie będzie kontynuowane.
Klaas


1

W systemie Mac OS X za pomocą TextEdit lub naturalnego edytora środowiska dla tekstu:

git config --global core.editor "open -W -n"

1

Tylko dlatego, że przyszedłem tutaj, szukając jednorazowego rozwiązania (w moim przypadku zwykle używam, vimale tym razem chciałem użyć kodu VS) dla pojedynczego polecenia, a inni też mogą chcieć wiedzieć:

GIT_EDITOR='code -w' git rebase -i 

Oto moja git/ hubwersja tylko dla kontekstu:

git version 2.24.2 (Apple Git-127)
hub version 2.14.1

1

Aby ustawić vima jako domyślny edytor git na Ubuntu 20:04, uruchom następującą komendę:

git config --global core.editor vim

0

Dla użytkowników IntelliJ

Podczas próby uruchomienia bazy danych otrzymywałem następujący błąd: „wskazówka: oczekiwanie na zamknięcie pliku przez edytor ... kod -n -w: kod: błąd komendy nie znaleziono: wystąpił problem z kodem edytora -północny zachód'.'

Ten sam błąd pojawił się, gdy próbowałem powiązać IntelliJ z Git: wprowadź opis zdjęcia tutaj

Problem polegał na tym, że nie dodałem kodu polecenia do zmiennej środowiskowej PATH. I nie chciałem używać Visual Studio Code z mojego terminala. Dlatego pojawił się monit „Nie znaleziono polecenia”. Rozwiązałem to, usuwając

edytor = kod -n -w

z sekcji głównej w moim pliku .gitconfig. Git znów działał poprawnie.


-1

Dla użytkowników Textmate

Otworzy się edytor Textmate, gdy chcesz edytować swoje zatwierdzenia. Wymaga zainstalowania narzędzi wiersza poleceń textmate.

git config --global core.editor "mate -w"


@ givanse co masz na myśli?
Matej

2
Myślę, że ma na myśli to, że jest to banalne przez analogię do odpowiedzi vima?
Rup

hmm nie, nie jest, ale jeśli używasz czegoś innego niż vim (np. textmate).
Matej

textmate ma również opcję „czekać”, więc dla mnie jest to: git config --global core.editor "/usr/local/bin/mate -w"
trungly

-1

Dla użytkowników systemu Windows, którzy chcą korzystać z Kinesics Text Editor

Utwórz plik o nazwie „k.sh”, dodaj następujący tekst i umieść w katalogu domowym (~):

winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1

W wierszu polecenia git wpisz:

git config --global core.editor ~/k.sh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.