it-swarm.com.ru

Как мне заставить Git использовать выбранный мной редактор для коммитов?

Я бы предпочел написать свои коммит-сообщения в Vim, но он открывает их в Emacs.

Как мне настроить Git, чтобы он всегда использовал Vim? Обратите внимание, что я хочу сделать это глобально, а не только для одного проекта.

2218
brasskazoo

Если вы хотите установить редактор только для Git, сделайте либо (вам не нужны оба):

  • Установите core.editor в вашей конфигурации Git: git config --global core.editor "vim"
  • Установите переменную среды GIT_EDITOR : export GIT_EDITOR=vim

Если вы хотите установить редактор для Git , а также других программ , установите стандартизированные переменные среды VISUAL и EDITOR *:

export VISUAL=vim
export EDITOR="$VISUAL"

* Установка обоих не обязательна, но некоторые программы могут не использовать более корректное VISUAL. Смотрите VISUAL VS. EDITOR .


Для возвышенного текста : добавьте это к .gitconfig. --wait важен. (это позволяет набирать текст в возвышенном и будет ждать события сохранения/закрытия.

[core]
    editor = 'subl' --wait

'subl' может быть заменен полным путем к исполняемому файлу, но обычно доступен при правильной установке.

3075
digitaldreamer

Скопируйте и вставьте это:

git config --global core.editor "vim"

В случае, если вы хотите знать, что вы делаете. От man git-commit:

ПЕРЕМЕННЫЕ ОКРУЖАЮЩЕЙ СРЕДЫ И КОНФИГУРАЦИИ

Редактор, используемый для редактирования сообщения журнала фиксации, будет выбран из переменной среды GIT_EDITOR, переменной конфигурации core.editor, переменной среды VISUAL или переменной среды EDITOR (в таком порядке).

534
Mark Rushakoff

В Ubuntu, а также в Debian (спасибо @MichielB) изменение редактора по умолчанию также возможно с помощью команды:

Sudo update-alternatives --config editor

Который подскажет следующее:

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: 
172
Koen.

В Windows 7 при добавлении редактора "Sublime" он по-прежнему выдавал ошибку:

Отмена коммита из-за пустого сообщения коммита.

Возвышенный не смог удержать фокус.

Чтобы это исправить, я открыл файл .gitconfig в папке c:/users/username/и добавил следующую строку с параметром --wait вне двойных кавычек.

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

Надеюсь, что это полезно для тех, кто сталкивается с подобной проблемой с Sublime.

59
Anmol Saraf

В Windows 7 установка редактора в Notepad ++

  • Откройте любой текстовый редактор.
  • Откройте этот файл: C:\Users\YOUR_USERNAME\.gitconfig
  • Добавьте этот раздел внизу:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Сохраните и закройте файл.
  • Когда вы делаете коммит с git, просто напишите git commit и нажмите Enter. Откроется Notepad ++.
  • Напишите ваше сообщение о фиксации вверху файла, сохраните и закройте файл. Готово!
53
Ryan

Чтобы сделать код Visual Studio (vscode) вашим редактором git по умолчанию

git config --global core.editor "code --wait"
23
Marcelo Mason

А если вы работаете с дизайнерами, использующими командную строку, то Pico и не знаете коротких путей;)

git config --global core.editor "pico"

Или же

export VISUAL=pico
export EDITOR=pico
23
tristanbailey

Установка Sublime Text 2 в качестве редактора Git commit в Mac OSX 10

Запустите эту команду:

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

Или просто:

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

Atom как ваш редактор git

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

Atom должен быть настроен для запуска из командной строки, чтобы вышеперечисленное работало:

OS X: установить команды оболочки из Atom: строка меню> Atom> Установить команды оболочки

Windows: никаких действий не требуется - atom по умолчанию настроено для запуска из командной строки

15
2Toad

Windows: установка блокнота в качестве редактора сообщений о фиксации по умолчанию

git config --global core.editor notepad.exe

Удар Ctrl+S чтобы сохранить ваше сообщение о коммите. Чтобы отказаться, просто закройте окно блокнота без сохранения.

Если вы нажмете ярлык для сохранения, затем решите прервать, перейдите в File-> Save as и в открывшемся диалоговом окне измените "Сохранить как тип" на "Все файлы (*. *)". Вы увидите файл с именем "COMMIT_EDITMSG". Удалите его и закройте окно блокнота.

Редактировать: Либо удалите все содержимое из открытого окна блокнота и нажмите "Сохранить". (спасибо mwfearnley за комментарий!)

Я думаю, что для небольших записей, таких как фиксация сообщений, блокнот подходит лучше всего, потому что он прост, есть с окнами, открывается в кратчайшие сроки. Даже ваш возвышенный может занять секунду или две, чтобы вспыхнуть, когда у вас есть множество плагинов и прочее.

10
Sнаđошƒаӽ

Для пользователей Emacs

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient
9
Bendlas

Лучшие настройки для Sublime Text 3 в качестве вашего редактора git (инструкции для Windows и Linux):

Чтобы следовать этим инструкциям в Windows, убедитесь, что вы установили git для Windows . В Windows мне нравится использовать Git BASH, чтобы он больше походил на Linux.

Во-первых, мы хотим создать специальный проект Sublime Text, чтобы мы могли указать специальные настройки проекта, которые мы хотим установить всякий раз, когда git вызывает редактор, чтобы упростить процесс редактирования в git. Например, я обычно устанавливаю свою линейку на 120 символов в большинстве проектов, но для сообщений git commit я хочу, чтобы она составляла 72 символа, чтобы она хорошо вписывалась в терминал при вызове git log или git lg .


1. Создайте проект Sublime Text с настройками, которые мы хотим использовать для редактирования сообщений git commit

Откройте Sublime Text и перейдите в "Файл" -> "Новое окно", чтобы создать новый анонимный проект. Перейдите в "Проект" -> "Сохранить проект как ..." и выберите место для его сохранения. В Linux я сохранил его в своем домашнем каталоге Linux с именем файла .gitconfig.sublime-project. Поэтому его путь: ~/.gitconfig.sublime-project. В Windows также сохраните его в своем домашнем каталоге, например: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Теперь перейдите в "Project" -> "Edit Project" для редактирования настроек проекта. Вставьте следующее и сохраните настройки. При необходимости внесите дополнительные изменения в настройки вашего проекта.

{
    //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. Установите редактор, который будет использоваться git

Теперь нам нужно настроить редактор, который будет использоваться git, отредактировав файл .gitconfig.

Для Linux:

Ваша пользовательская копия этого будет находиться в ~/.gitconfig. Откройте этот файл и добавьте следующие строки. Обязательно используйте правильное имя пути к проекту git, который вы только что создали! Я использую ~/.gitconfig.sublime-project.

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

--wait важен, так как он заставляет git ждать, пока вы не закроете файл, прежде чем продолжить. Строка --project важна, чтобы сообщать Sublime Text, какой проект вы хотите открыть всякий раз, когда git открывает Sublime.

Согласно приведенному выше ответу @ digitaldreamer ( https://stackoverflow.com/a/2596835/4561887 ), "subl" можно заменить полным путем к исполняемому файлу, но [псевдоним subl] обычно доступен, когда [Sublime is] правильно установлен. "

Для Windows:

Для Windows сначала прочитайте инструкции Linux для справочной информации. Теперь мы будем делать что-то практически идентичное.

(НЕОБЯЗАТЕЛЬНО: создайте псевдоним subl для использования в Git BASH):

Откройте текстовый редактор (например, "Блокнот", "Блокнот ++", "Sublime Text", "Geany" и т.д.) И создайте файл с именем ".bash_profile" в своем домашнем каталоге. Поэтому его путь будет: C:\Users\MY_USER_NAME\.bash_profile. Сохраните в нем следующее:

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

Это создает псевдоним Git BASH с именем subl, который мы теперь можем использовать в Git BASH для Windows, чтобы легко открывать Sublime. Этот шаг не обязателен, но он полезен для общего использования Git BASH. Теперь вы можете вызвать subl ., например, в Git BASH, чтобы открыть новый Sublime Project в вашем текущем каталоге.

(ОБЯЗАТЕЛЬНО):

Отредактируйте файл .gitconfig в вашем домашнем каталоге: C:\Users\MY_USER_NAME\.gitconfig, добавив в него следующее. Обратите внимание на небольшие изменения по сравнению с инструкциями Linux выше:

[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
  • Обратите внимание, что вы должны указать полный путь к исполняемому файлу Sublime Text. Обратите внимание на направление косой черты! Используйте / NOT \ для разделения папок в имени пути! (Спасибо VonC за помощь в этом ).
  • Наш псевдоним subl, который мы создали для Git BASH выше, здесь не работает, поэтому вы не можете использовать его, как мы это делали в примере с Linux, вместо этого вы должны указать весь путь, как показано выше.
  • Однако символ ~ по-прежнему работает здесь, чтобы попасть в домашний каталог Windows.

2.5. (Необязательно) Установите пакет "Git" в Sublime Text 3.

Это дает вам подсветку синтаксиса для сообщений git commit, а также доступ к другим командам git, таким как git blame (который я часто использую в Sublime Text) или git commit (который я не использую в Sublime Text, так как я предпочел бы командную строку для общего потока мерзавцев, как я уже упоминал в моих комментариях ниже этого ответа).

Чтобы установить пакет: Сначала убедитесь, что "Контроль пакетов" установлен. Далее нажмите Ctrl + Shift + P (так же, как "Инструменты" → "Палитра команд") и введите "Управление пакетами: Установить пакет" полностью или частично, затем нажмите Enter. В появившемся окне поиска найдите пакет "Git" и нажмите "Enter" на нем или нажмите на него, чтобы автоматически установить.

После установки Ctrl + Shift + P тогда поиск "git" вызовет команды git, которые вы теперь можете использовать внутри Sublime Text, такие как git blame.


3. Используйте это

Теперь, когда вы вызываете git commit, например, как обычно из командной строки, Sublime Text откроется в .gitconfig.sublime-project, который мы создали выше, с настройками этого проекта! Когда вы набираете абзац, вы заметите, что он выходит за пределы линейки, которую мы установили, поскольку мягкая переноска по словам отключена. Чтобы принудительно выполнить перенос через автоматически вставленные возвраты в конце каждой строки, наведите курсор на длинную строку, которую вы хотите автоматически переносить, и нажмите Alt + Q. Теперь он будет жестко упакован на 72 символа, что мы и установили в параметре "rulers" в настройках проекта выше.

Теперь сохраните сообщение коммита с помощью Ctrl + Sи выйдите (чтобы завершить свой git commitCtrl + Shift + W,.

Готово!

7
Gabriel Staples

Это дает ответ людям, которые пришли к этому Вопросу и могут захотеть связать редактор, кроме vim.

Связанный ресурс от Github , скорее всего, будет обновляться, когда редакторы будут обновляться, даже если ответы на SO (включая этот) нет.

Связывание текстовых редакторов с git

Пост Github показывает, что именно нужно вводить в командной строке для различных редакторов, включая параметры/флаги, специфичные для каждого редактора, чтобы он лучше всего работал с git.

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

возвышенный текст:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

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

Приведенные выше команды предполагают, что ваш редактор был установлен в каталог по умолчанию для компьютера с Windows.

Команды в основном добавляют текст между двойными кавычками в .gitconfig в вашем домашнем каталоге.
На компьютере с Windows, скорее всего, будет C:\Users\your-user-name, где your-user-name - это ваше имя пользователя.
Из командной строки вы можете попасть в этот каталог, введя cd ~.

например, приведенная выше команда добавит следующую строку в раздел [core] следующим образом:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

Если у вас другой редактор, просто замените путь к вашему редактору, используя любой из указанных выше методов. (и надеюсь, что для оптимального использования флаги не нужны.)

5
SherylHohman

Mvim как твой редактор git

Как и все другие приложения с графическим интерфейсом, вы должны запустить mvim с флагом ожидания.

git config --global core.editor "mvim --remote-wait"
3
Matteo Rolla

Для пользователей Windows, которые хотят использовать neovim с подсистемой Windows для Linux:

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

Это не является надежным решением, так как оно не обрабатывает интерактивный перебазирование (например). Улучшения очень приветствуются!

2
brcolow

При использовании git-review мне пришлось изменить значение sequence.editor, чтобы иметь возможность выполнять интерактивную перебазировку (git rebase -i -p):

git config --global sequence.editor "gvim"  # or whatever your prefer

gvim требуют: apt install vim-gtk

Рекомендации

1
Édouard Lopez

Для пользователей TextWrangler из магазина приложений Mac:

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

Также убедитесь, что ваш "TextWrangler> Настройки> Приложение> Когда TextWrangler становится активным:" установлен на "Ничего не делать"

Это работает для меня на OS X 10.11.4 с TextWrangler 5.0.2 из магазина приложений Mac.

Объяснение:

- n означает открытие в новом экземпляре.

- W означает ожидание выхода из приложения, прежде чем использовать содержимое отредактированного файла в качестве сообщения фиксации.

- a TextWrangler означает использовать приложение TextWrangler для открытия файла.

Смотрите man open в приложении Mac Terminal для получения более подробной информации.

1
DLRdave

Просто попробуйте EDITOR=vim git commit.

Или вы можете установить для своего РЕДАКТОРА vim с помощью export EDITOR=vim в вашем bashrc.

1
Xiao Hanyu