Git이 커밋을 위해 선택한 편집기를 사용하도록하려면 어떻게해야합니까?


2547

커밋 메시지를 Vim에 작성하고 싶지만 Emacs에서 메시지를 여는 중입니다.

항상 Vim을 사용하도록 Git을 어떻게 구성합니까? 단일 프로젝트뿐만 아니라 전 세계적 으로이 작업을 수행하고 싶습니다.


202
"git-go로부터 커밋 코멘트를 위해 git을 vim으로 보내는 방법?"
Michael Burr

답변:


3485

Git에 대해서만 편집기를 설정하려면 다음 중 하나를 수행하십시오 (둘 다 필요하지 않음).

  • core.editorGit 설정 에서 설정 하십시오 :git config --global core.editor "vim"
  • GIT_EDITOR환경 변수를 설정하십시오 .export GIT_EDITOR=vim

Git 및 기타 프로그램 용 편집기를 설정하려면 표준화 VISUALEDITOR환경 변수를 설정하십시오 * :

export VISUAL=vim
export EDITOR="$VISUAL"

* 둘 다 설정해야 할 필요는 없지만 일부 프로그램은 더 정확한 것을 사용하지 않을 수 있습니다 VISUAL. VISUALEDITOR 참조 .


숭고한 텍스트의 경우 :에 추가하십시오 .gitconfig. 이것은 --wait중요합니다 (그것은 숭고한 텍스트를 입력 할 수 있으며 저장 / 닫기 이벤트를 기다릴 것입니다.)

[core]
    editor = 'subl' --wait

'subl'은 실행 파일의 전체 경로로 대체 될 수 있지만 일반적으로 올바르게 설치되면 사용할 수 있습니다.


96
EDITOR 환경 변수는 다른 많은 프로그램에서도이 변수를 존중한다는 이점이 있습니다.
Boojum

16
참고 git config --global개인 (사용자 별) 자식 구성 파일에 작성합니다. Unices에서는입니다 ~/.gitconfig. 따라서 모든 리포지토리에 대해 구성됩니다.
Jakub Narębski

42
마지막 커밋 메시지를 수정하여 성공적으로 변경했는지 테스트 할 수 있습니다. git commit --amend
Marco M.

11
Windows에서 옵션 # 1을하고 편집기 경로에 공백이있는 경우 (예 : 프로그램 파일에있는 경우) 큰 따옴표 안에 작은 따옴표를 흔 듭니다. 예 : " 'C : / Program Files (x86) /Whatever/App.exe'"-일부에게는 분명하지만 나에게는 그렇지 않았습니다!
Pablissimo

5
@Abramodj -w는 필요하지 않습니다. -w {scriptout}나중에 재생할 수 있도록 편집 할 때 입력 한 모든 문자를 저장합니다. 아마 당신은 그것을 혼동 -f하는 것입니다 빔의 GUI 버전을 호출 할 때 필요합니다. 즉,을 사용 mvim하면 지정한 편집기가 mvim -f아닌이어야 mvim합니다.
Rory O'Kane

618

붙여 넣기

git config --global core.editor "vim"

당신이하고있는 일을 알고 싶다면. 보낸 사람 man git-commit:

환경 및 구성 변수

커밋 로그 메시지를 편집하는 데 사용되는 편집기는 GIT_EDITOR환경 변수, core.editor구성 변수, VISUAL환경 변수 또는 EDITOR환경 변수 (순서대로)에서 선택됩니다.


4
Btw, 위의 내용은 CVS 및 SVN에 해당하며 다른 버전 제어 기능을 추측합니다.
armandino

6
@armandino : 그렇습니다. 다른 사람들은 VISUAL또는을 사용할 수 EDITOR있지만 확실히 GIT_EDITOR또는을 사용하지는 않습니다 core.editor.
Mark Rushakoff

8
-svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2 이론적으로 svn과 git을 모두 사용하는 경우 $ VISUAL 또는 $ EDITOR를 설정하면 기본적으로 두 가지를 모두 다루는 최고의 솔루션이 되십시오!
brasskazoo

12
완전성을 위해 core.editor는 파일에서 [core] editor = ...를 의미합니다
JRG

2
"git ...을 어떻게 구성합니까?"라는 질문에 대답하지 않았습니다
Ant6n

192

우분투와 데비안 (@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: 

8
데비안에서는 이것이 작동합니다. 감사합니다! 기본값은 pico-argh입니다.
MichielB

2
물론 데비안에서도 작동합니다. 데비안 기능인데, 우분투는 대부분의 것 (오, 논쟁의 여지가 있습니다!)과 마찬가지로 단지 상속합니다. 데비안 alternatives시스템은 지원되는 프로그램 유형의 기본값을 관리하는 훨씬 쉬운 방법입니다. 참조 : debian-administration.org/article/91/…
underscore_d

동시에 그것은 작동 GIT_EDITOR하고 EDITOR --ubuntu 작동하지
닌자

이맥스에 대한 옵션이 없습니까? 사실이라면 얼마나 부끄러운 일입니까!
haziz

2
@haziz update-alternatives는 설치된 모든 편집기를 보여줍니다. Koen에는 Emacs가 설치되어 있지 않습니다.
Major Major

59

Windows 7에서 "Sublime"편집기를 추가하는 동안 여전히 오류가 발생했습니다.

빈 커밋 메시지로 인해 커밋이 중단되었습니다.

숭고한 초점을 유지할 수 없었습니다.

이 문제를 해결하기 위해 c : / users / username / 폴더에서 .gitconfig 파일을 열고 큰 따옴표 외부에 --wait 옵션과 함께 다음 줄을 추가했습니다.

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

Sublime과 비슷한 문제에 직면 한 누군가에게 도움이되기를 바랍니다.


좋은! 감사합니다 Anmol, 빈 메시지를 커밋하는 문제가 발생했습니다.
ddavison

왜 git commit을 위해 sublime을 사용하고 싶습니까?
Adam F

13
git commit 용 편집기는 주로 여러 줄의 주석을 추가하는 데 사용되며 Sublime은 많은 개발자에게 다양한 이유로 프로그래머가 선택합니다. 사람들은 일반적으로 대부분의 코딩 및 기타 작업에 하나의 편집기를 사용하는 경향이 있습니다. Sublime은 개인적인 선택이며 모든 편집자가 될 수 있습니다.
Anmol Saraf

4
작은 따옴표 '가 필요하다는 것을 알았습니다. 그것은 "큰 따옴표 작동하지 않습니다.
dotnetCarpenter

1
gitconfig를 수동으로 편집하는 대신이 명령을 사용할 수 있습니다git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
KayakinKoder

53

Windows 7에서 편집기를 메모장 ++로 설정

  • 텍스트 편집기를여십시오.
  • 이 파일을여십시오 : C:\Users\YOUR_USERNAME\.gitconfig
  • 이 섹션을 하단에 추가하십시오.

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • 파일을 저장하고 닫습니다.
  • 당신은 자식에 투입 할 때, 단지 쓰기 git commit를 누릅니다 Enter. 메모장 ++가 열립니다.
  • 커밋 메시지를 파일 맨 위에 쓰고 파일을 저장 한 후 닫습니다. 끝난!

마지막으로 간단하게 작성하는 방법을 아는 사람! 감사. 그러나 메모장 경로에서 '/'또는 이중 백 슬래시 '\\'를
사용해야한다면

10
-multiInstnotepad ++ 및 가능하면 적어도 매개 변수로 추가해야 할 수도 있습니다 -notabbar. git이 파일 편집을 완료했을 때 알지 못하는 것처럼 보이고 영원히 기다리거나 전혀 기다리지 않는 경우이 작업을 수행하십시오.
ErikE

1
내가 원하는 것 \와 /의 사용 대조
Henry

4
커맨드 라인에서 설정을하려면, 작은 따옴표 안에 큰 따옴표가 필요합니다>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
Josef

2
Notepadd ++ 매개 변수를 추가하려면 다음과 같이해야합니다.- editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar구분 된 작은 따옴표를 벗어난 매개 변수
cropredy

30

Visual Studio Code (vscode)를 기본 자식 편집기로 만들려면

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

24

그리고 명령 줄을 사용하여 디자이너와 작업하는 경우 Pico는 지름길을 모릅니다.

git config --global core.editor "pico"

또는

export VISUAL=pico
export EDITOR=pico

18

자식 편집기로 원자

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

위의 작업을 수행하려면 Atom을 명령 줄에서 실행하도록 구성해야합니다.

OS X : Atom에서 쉘 명령 설치 : 메뉴 표시 줄> Atom> 쉘 명령 설치

Windows : 조치가 필요하지 않음-기본적으로 atom이 명령 행에서 실행되도록 구성되어 있습니다.


17

Mac OSX 10에서 Sublime Text 2를 Git 커밋 편집기로 설정

이 명령을 실행하십시오 :

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

아니면 그냥 :

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

어떻게 든 텍스트를 자식으로 전달하지 않습니다. '빈 커밋 메시지로 인해 커밋이 중단되었습니다.' 오류.
Mahendran

SL을 설정하기 위해 첫 번째 명령을 사용했습니다. cmd + S 다음 cmd + W 편집기를 닫으십시오
Mahendran

2
Visual Studio Code도이 -w매개 변수를 지원합니다 . 예 : $ git config --global core.editor "code -w". 깔끔한 물건
Automatico

다른 대답은 여기 : stackoverflow.com/a/48212377/4561887 , Linux 예제와 함께.
Gabriel Staples

13

Windows : 메모장을 기본 커밋 메시지 편집기로 설정

git config --global core.editor notepad.exe

커밋 메시지를 저장하려면 Ctrl+ S를 누르 십시오. 삭제하려면 저장하지 않고 메모장 창을 닫으십시오.

저장 바로 가기를 누른 다음 중단하기로 결정하고 파일-> 다른 이름으로 저장으로 이동 한 다음 열리는 대화 상자에서 "파일 형식으로 저장"을 "모든 파일 (*. *)"로 변경하십시오. "COMMIT_EDITMSG"라는 파일이 표시됩니다. 삭제하고 메모장 창을 닫습니다.

편집 : 또는 더 쉽게 열려있는 메모장 창에서 모든 내용을 삭제하고 저장을 누르십시오. ( 의견 에 mwfearnley 에게 감사드립니다 !)

커밋 메시지 메모장과 같은 작은 쓰기에는 메모장이 가장 적합합니다. 단순하기 때문에 창이 있고 창을 열고 곧 열 수 있습니다. 플러그인과 물건이 많을 때 숭고한 사람들조차도 해고되기까지 1-2 초가 걸릴 수 있습니다.


2
File-> Save as로 이동하는 대신 파일을 비우거나 비 공백 행을 주석 처리하면 빈 커밋 메시지로 인해 Git이 중단됩니다.
mwfearnley

@Stepan 커밋을 수정하고 있습니까? 그렇다면 \r\n(Windows의 줄 바꿈) 및 \n(Linux의 줄 바꿈, Git의 기본값 )과 관련 이 있다고 생각합니다 .
Sнаđошƒаӽ

더 나은 당신은이 같은 라인을 추가하여 core.editor = 'notepad' .git/COMMIT_EDITMSG --wait기본 편집 메시지를 열고 저장하고 당신은 "다른 이름으로 저장"필요가 없습니다
Radon8472

12

이것은 vim 이외의 편집기를 연결하고 싶을 수도있는이 질문에 도착한 사람들에게 답을 제공합니다.

Github 의 링크 된 리소스 는 SO에 대한 답변 (이것 포함)이 아니더라도 편집자가 업데이트 될 때 최신 상태로 유지 될 수 있습니다.

텍스트 편집기와 자식 연결

Github의 게시물은 git에서 가장 잘 작동하기 위해 각 편집기에 대한 옵션 / 플래그를 포함하여 다양한 편집기에 대해 명령 줄에 입력 할 내용을 정확하게 보여줍니다.

메모장 ++ :
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"

원자:
git config --global core.editor "atom --wait"

위의 명령은 편집기가 Windows 시스템의 기본 디렉토리에 설치되었다고 가정합니다.

명령은 기본적으로 .gitconfig홈 디렉토리에서 큰 따옴표 사이에 텍스트를 추가합니다 .
Windows 시스템의 홈은이며 C:\Users\your-user-name사용자 이름은 로그인 이름입니다.
명령 행에서을 입력하여이 디렉토리에 도달 할 수 있습니다 cd ~.

예를 들어 위의 명령은 다음과 [core]같이 섹션 아래에 다음 줄을 추가합니다 .
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

다른 편집기가있는 경우 위의 방법 중 하나를 사용하여 편집기 경로로 바꾸십시오. 최적의 사용법을 위해 플래그가 필요하지 않기를 바랍니다.


고마워, 나는 단지 "vim"이 Git에 대한 "내부"vim 인스턴스를 시작했다는 사실에 어려움을 겪고 있었다. 내 인스턴스의 전체 경로를 제공하면 문제가 해결되었습니다!
benichka

10

이맥스 사용자

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient

6
커밋 할 때 터미널 모드에서 emacs를 설정하는 방법은 다음과 같습니다git config --global core.editor "emacs -nw"
kukinsula

초기화 파일을 건너 뛰는 git config --global core.editor "emacs -nw -q"-q에서을 사용 합니다.
miguelmorin

8

Sublime Text 3를 Git 편집기로 사용하기위한 최상의 설정 (Windows 및 Linux 지침) :

Windows에서이 지시 사항을 따르려면 Windows 용 Git 이 설치되어 있는지 확인하십시오 . Windows에서는 Linux와 같은 느낌을 주도록 Git Bash를 사용하고 싶습니다.

먼저 Git에서 편집 할 때 작업을 쉽게하기 위해 Git이 편집기를 호출 할 때마다 설정하려는 특수 프로젝트 설정을 지정할 수 있도록 특수 Sublime Text 프로젝트를 만들고 싶습니다. 예를 들어 대부분의 프로젝트에서 일반적으로 눈금자를 120 자로 설정했지만 Git 커밋 메시지의 경우 git log또는 을 호출 할 때 터미널에 잘 맞도록 72 자 길이를 원합니다 git lg.


1. Git 커밋 메시지를 편집하는 데 사용하려는 설정으로 Sublime Text 프로젝트를 만듭니다.

Sublime Text를 열고 메뉴 "파일""새 창"으로 이동하여 새 익명 프로젝트를 만듭니다. 메뉴 "프로젝트""다른 이름으로 프로젝트 저장 ..."으로 이동 하여 저장할 장소를 선택하십시오. Linux에서는 파일 이름을 사용하여 Linux 홈 디렉토리에 저장했습니다 .gitconfig.sublime-project. 따라서 경로는 다음과 같습니다 ~/.gitconfig.sublime-project.. Windows에서는 홈 디렉토리에도 저장합니다. 예를 들어 C:\Users\MY_USER_NAME\.gitconfig.sublime-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이 사용할 에디터 설정

이제 .gitconfig파일 을 편집하여 Git이 사용할 편집기를 설정해야 합니다.

Linux의 경우 :

이 사용자 사본은에 있습니다 ~/.gitconfig. 이 파일을 열고 다음 줄을 추가하십시오. 위에서 만든 Git 프로젝트에 올바른 경로 이름을 사용해야합니다! 을 사용하고 ~/.gitconfig.sublime-project있습니다.

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

--wait그것에서 계속하기 전에 파일을 닫을 때까지 기다려야 힘내 강제로 중요하다. --project라인은 망할 놈의 숭고한 텍스트를 열 때마다 사용자가 연 원하는 프로젝트 숭고한 텍스트를 얘기하는 것이 중요하다.

위의 @digitaldreamer의 답변 ( https://stackoverflow.com/a/2596835/4561887 )에 따라 " subl실행 파일의 전체 경로로 대체 할 수 있지만 subl[Sublime]이 올바르게 설치된 경우 일반적으로 [별칭 ]을 사용할 수 있습니다."

Windows의 경우 :

Windows의 경우 먼저 배경 정보에 대한 Linux 지시 사항을 읽으십시오. 이제 우리는 거의 동일한 것을 할 것입니다.

(선택 사항 : sublGit Bash에서 사용할 별명 작성 ) :

텍스트 편집기 (예 : 메모장, 메모장 ++, Sublime Text, Geany 등)를 열고 홈 디렉토리에 ".bash_profile"이라는 파일을 작성하십시오. 따라서 경로는 다음과 같습니다 C:\Users\MY_USER_NAME\.bash_profile.. 다음을 저장하십시오.

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

그러면 sublGit Bash에서 Windows 용 Git Bash 별칭을 만들어 Sublime Text를 쉽게 열 수 있습니다. 이 단계는 필요하지 않지만 일반적인 Git Bash 사용에 유용합니다. 이제 subl .Git Bash에서를 호출 하여 현재 디렉토리에 새로운 Sublime Text 프로젝트를 열 수 있습니다.

(필수) :

다음을 추가 .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 실행 파일의 전체 경로를 지정해야합니다. 슬래시 방향에주의하십시오! 사용 /하지 \경로 이름에 별도의 폴더에! (VonC 에게 이것을 보도록 도와 주셔서 감사 합니다 ).
  • 우리의 subl우리가 리눅스의 예에서처럼 당신이 위의 그림과 같이 대신 전체 경로를 지정해야합니다, 사용할 수 없도록 우리가 위에서 망할 놈의 배쉬 위해 만든 별명은 여기에서 작동하지 않습니다.
  • ~심볼은, 그러나, 여전히 윈도우 홈 디렉토리에 도착 여기서 일 않습니다.

2.5. (선택 사항) "Git"패키지를 Sublime Text 3에 설치하십시오.

이렇게하면 git commit메시지에 대한 구문 강조 표시 뿐만 아니라 git blame(Sublime Text에서 자주 사용하는) 또는 git commit(Glim의 명령 줄을 선호하기 때문에 Sublime Text에서 사용하지 않는 ) 다른 Git 명령에 액세스 할 수 있습니다 이 답변 아래의 의견에서 언급했듯이 흐름).

패키지를 설치하려면 : 먼저“Package Control”이 설치되어 있는지 확인하십시오. 그런 다음 Ctrl+ Shift+ P(도구 → 명령 팔레트와 동일)를 누르고 “Package Control : Install Package”의 전체 또는 일부를 입력 한 다음을 누르십시오 Enter. 검색 상자가 나타나면 "Git"패키지를 검색하여 Enter클릭하거나 클릭하여 자동으로 설치하십시오.

일단 설치되면 Ctrl+ Shift+ P다음 "git"을 검색하면 내부에서 Sublime Text 내부에서 사용할 수있는 Git 명령이 나타납니다 (예 :) git blame.


3. 사용

git commit예를 들어 명령 줄에서 정상적으로을 호출하면 Sublime Text가 .gitconfig.sublime-project해당 프로젝트 설정과 함께 위에서 만든 텍스트로 열립니다 ! 단락을 입력하면 부드러운 단어 줄 바꿈이 해제되어 있으므로 설정 한 눈금자를 넘어서고 있음을 알 수 있습니다. 각 줄의 끝에 자동 삽입 된 하드 리턴을 통해 강제 줄 바꿈을하려면 자동 줄 바꿈하려는 긴 줄에 커서를 놓고 Alt+를 누릅니다 Q. 이제 72 자에서 하드 랩 / 하드 폴딩 할 것입니다. 이는 프로젝트 설정의 "rulers"매개 변수에서 설정 한 것입니다.

지금, 당신의 커밋과 메시지 저장 Ctrl+ S, 종료 (당신의 완료 git commit와 함께) Ctrl+ Shift+ W.

끝난!

관련 :

  1. Windows에서 Meld과 함께 Git mergetool
  2. https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles

1
꽤 상세하게 보입니다. +1
VonC

Sublime Text 3에는 Git Commit구문 유형이 있습니다. 이제 커스텀 "sublime-text project"단계를 건너 뛸 수 있습니다.
yegeniy

동의하지 않습니다. 구문 강조 표시 만합니다. 내 사용자 정의 프로젝트는 구문 강조 기능을 건드리지 않습니다 : 눈금자를 설정하고 자식 커밋을 열 수있는 컨텍스트를 제공하므로 사용자가 마지막으로 열거 나 마지막으로 열었던 프로젝트에서 열리지 않습니다. 두 사람은 관련이 없습니다. 둘 다하세요.
Gabriel Staples

방금 2.5 단계를 추가했지만 (여기 "비트") : Sublime Text 3을 내 편집기로 항상 사용하지는 않습니다 (때로는 엉뚱한 편집기 임에도 불구하고 Sublime보다 훨씬 우수한 기호 추적 및 색인을 제공하기 때문에 Eclipse를 사용합니다) Sublime에 비해), 나는 정말로 커맨드 라인에서 Git을 사용하는 것을 선호하기 때문에, 지금 2.5 단계에서 설명한 것처럼 "Git"패키지를 Sublime에 설치하더라도 1 단계를 건너 뛰지 않는 것이 가장 좋습니다. 예, Sublime에서 Git Commit을 직접 수행 할 수는 있지만 명령 줄을 선호합니다.
Gabriel Staples

팁 : 당신이 사용하는 경우 sublimegit도 사용 trim_trailing_white_space_on_save당신이 그것을 매우 의미의 공백 나누기 패치 편집을 후행 제거하기 때문에 추가 패치 별칭을 추가하고 싶습니다. 이것은 다음과 같은 방법으로 달성 될 수 있습니다 :git config --global alias.patch "-c core.editor=vim add --patch"
Timo

3

자식 편집기로 Mvim

다른 모든 GUI 응용 프로그램과 마찬가지로 대기 플래그를 사용하여 mvim을 시작해야합니다.

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

--remote-wait-silent못생긴 오류 메시지를 피하기 위해 :)
Shinigami

2

Linux 용 Windows 서브 시스템에서 neovim 을 사용하려는 Windows 사용자의 경우 :

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

입니다 하지 가 (예를 들어) 대화 형 리베이스를 처리하지 않는 바보 - 증거 솔루션입니다. 개선은 매우 환영합니다!


1

그냥 시도하십시오 EDITOR=vim git commit.

또는 export EDITOR=vimbashrc에서 EDITOR를 vim으로 설정할 수 있습니다 .


1

Mac 앱 스토어의 TextWrangler 사용자 :

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

또한 "TextWrangler> 환경 설정> 응용 프로그램> TextWrangler가 활성화 될 때 :"설정이 "아무것도하지 않음"으로 설정되어 있는지 확인하십시오.

이것은 Mac 앱 스토어의 TextWrangler 5.0.2가있는 OS X 10.11.4에서 작동합니다.

설명:

-n 수단은 새 인스턴스에서 엽니 다.

-W 수단은 커밋 메시지로 편집 된 파일의 내용을 사용하기 전에 응용 프로그램이 종료 될 때까지 기다려야합니다.

-a TextWrangler의 수단이 파일을 열도록 TextWrangler 응용 프로그램을 사용합니다.

자세한 내용 man open은 Mac 터미널 앱을 참조하십시오.


TextWrangler가 이미 열려 있으면 솔루션은 첫 번째 파일 세트와 동일한 파일 세트로 다른 인스턴스를 엽니 다. 이것은 위험한 것 같습니다.
Klaas

TextWrangler 명령 줄 도구 ( barebones.com/support/textwrangler/cmd-line-tools.html )를 설치 한 후 사용했습니다 git config --global core.editor "edit -w". 현재 인스턴스에서 커밋 메시지가 열리고이 커밋 메시지 문서 만 닫으면 커밋이 계속 진행됩니다.
Klaas


1

Mac OS X의 경우 TextEdit 또는 텍스트 용 자연 환경 편집기를 사용하십시오.

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

1

단 한 번의 명령으로 일회성 솔루션 (내 경우에는 일반적으로 vimVS 코드를 사용하고 싶었지만 이번에는 VS 코드를 사용하고 싶음)을 찾고 있기 때문에 다른 사람들도 알고 싶어 할 수 있습니다.

GIT_EDITOR='code -w' git rebase -i 

다음 은 컨텍스트 용 내 git/ hub버전입니다.

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

1

우분투 20:04 에서 vim을 git의 기본 편집기로 만들려면 다음 명령을 실행하십시오.

git config --global core.editor vim

0

IntelliJ 사용자의 경우

git rebase를 시도 할 때 다음과 같은 오류가 발생했습니다 : '힌트 : 편집기가 파일을 닫기를 기다리는 중 ... -n -w '.'

IntelliJ를 Git과 연결하려고 할 때 동일한 오류가 나타났습니다. 여기에 이미지 설명을 입력하십시오

문제는 환경 PATH 변수에 명령 코드를 추가 하지 않았다는 것 입니다. 그리고 터미널에서 Visual Studio Code를 사용하고 싶지 않았습니다. 그래서 "명령을 찾을 수 없습니다"라는 메시지가 표시됩니다. 나는 이것을 삭제하여 이것을 해결했다.

에디터 = 코드 -n -w

내 .gitconfig 파일의 핵심 섹션에서. 힘내 다시 제대로 작동했습니다.


-1

텍스트 메이트 사용자

커밋을 편집 할 때 Textmate 편집기가 열립니다. textmate 명령 줄 도구를 설치해야합니다.

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


@ givanse 무슨 뜻인가요?
Matej

2
나는 그것이 vim 답변과 유사하여 사소한 것을 의미한다고 생각합니까?
Rup

흠 아니,하지만 vim 이외의 것을 사용하는 경우 (예 : textmate).
Matej

textmate에는 "대기"옵션도 있습니다. 따라서 저에게는 다음과 같습니다. git config --global core.editor "/usr/local/bin/mate -w"
trungly

-1

Kinesics Text Editor를 사용하려는 Windows 사용자의 경우

'k.sh'라는 파일을 작성하고 다음 텍스트를 추가하고 홈 디렉토리 (~)에 배치하십시오.

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

git 프롬프트에서 다음을 입력하십시오.

git config --global core.editor ~/k.sh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.