Programing

Windows에서 Git과 함께 작동하도록 편집기를 설정하려면 어떻게해야합니까?

lottogame 2020. 2. 10. 22:02
반응형

Windows에서 Git과 함께 작동하도록 편집기를 설정하려면 어떻게해야합니까?


Windows 에서 Git을 시도하고 있습니다. "git commit"을 시도하는 시점에이 오류가 발생했습니다.

터미널이 바보이지만 VISUAL 또는 EDITOR가 정의되지 않았습니다. -m 또는 -F 옵션을 사용하여 메시지를 제공하십시오.

그래서 EDITOR라는 환경 변수가 필요하다는 것을 알았습니다. 문제 없어요. 메모장을 가리 키도록 설정했습니다. 거의 효과가있었습니다. 기본 커밋 메시지가 메모장에서 열립니다. 그러나 메모장은 기본 피드를 지원하지 않습니다. 나가서 Notepad ++을 얻었 지만 %EDITOR%예상대로 Git과 작동하는 방식 으로 Notepad ++를 설정하는 방법을 알 수 없습니다 .

메모장 ++와 결혼하지 않았습니다. 이 시점에서 내가 사용하는 편집기는 상관 없습니다. 명령 줄 (with )이 아닌 편집기에서 커밋 메시지입력 하고 싶습니다 -m.

Windows에서 Git을 사용하는 사람들 : 커밋 메시지를 편집하는 데 어떤 도구를 사용하고 작동 시키려면 어떻게해야합니까?


2015 년 9 월 업데이트 (6 년 후)

git-for-Windows (2.5.3)마지막 릴리스 에는 다음이 포함됩니다.

구성함으로써 git config core.editor notepad사용자 는 이제 notepad.exe기본 편집기로 사용할 수 있습니다 . 메모장 래퍼가
구성 git config format.commitMessageColumns 72을 선택하고 커밋 메시지를 사용자가 편집 한 후 줄 바꿈합니다.

Johannes Schindelin ( )의 커밋 69b301b참조하십시오 .dscho

그리고 Git 2.16 (2018 년 1 분기)은 편집기를 숨길 때 숨겨져 있거나 사용자가 길을 잃은 경우 편집기를 생성 할 때 사용자가 편집을 마치기를 기다리고 있다는 메시지를 표시합니다.

참조 abfb04d 커밋 (07 년 12 월 2017), 및 a64f213 커밋 에 의해 (2017 11월 29일) 라스 슈나이더 ( larsxschneider) .
도움 : Junio ​​C Hamano ( gitster) .
(의해 병합 - Junio C 하마노 gitster-0c69a13 커밋 2,017 19 십이)

launch_editor(): Git이 사용자 입력을 기다린다는 것을 나타냅니다

GIT_EDITOR열려 있고 사용자 입력을 기다리는 Git 명령에 의해 그래픽 이 생성 될 때 (예 : " git rebase -i") 다른 창에 의해 편집기 창이 가려 질 수 있습니다.
사용자는 Git을 진행하기 전에 다른 창과 상호 작용해야한다는 것을 인식하지 않고도 원래 Git 터미널 창을 응시할 수 있습니다. 이 사용자에게는 Git이 걸려있는 것처럼 보입니다.

터미널이 마지막 줄 지우기를 지원하는 경우 Git이 원래 터미널에서 편집기 입력을 기다리고 있다는 메시지를 인쇄하고 편집기가 리턴되면이를 제거하십시오.


원래 답변

방금 git 버전 1.6.2.msysgit.0.186.gf7512 및 메모장 ++ 5.3.1로 테스트했습니다.

내가 선호 하지 내가 노력 있도록, 편집기 변수를 설정해야합니다 :

git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\""
# or
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\" %*"

그것은 항상 다음을 제공합니다.

C:\prog\git>git config --global --edit
"c:\Program Files\Notepad++\notepad++.exe" %*: c:\Program Files\Notepad++\notepad++.exe: command not found
error: There was a problem with the editor '"c:\Program Files\Notepad++\notepad++.exe" %*'.

내가 포함하여 npp.bat를 정의하면 :

"c:\Program Files\Notepad++\notepad++.exe" %*

그리고 나는 입력 :

C:\prog\git>git config --global core.editor C:\prog\git\npp.bat

DOS 세션에서만 작동 하지만 git shell 에서는 작동 하지 않습니다 .
(core.editor 구성 메커니즘에서는 " start /WAIT..."가 포함 된 스크립트가 작동하지 않고 새 DOS 창만 열 수 있습니다)


Bennett의 답변 은 스크립트 추가를 피할 수 있지만 간단한 인용 부호 사이 에서 프로그램 자체 직접 참조하는 가능성을 언급 합니다 . 슬래시 방향에주의하십시오! 사용 /하지 \경로 이름에 별도의 폴더에!

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

또는 64 비트 시스템 인 경우 :

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

그러나 나는 스크립트를 사용하는 것을 선호합니다 (아래 참조) : 다시 등록하지 않고도 다른 경로 또는 다른 옵션으로 재생할 수 있습니다 git config.


실제 솔루션 (스크립트 사용)은 다음을 인식하는
것이 었습니다. 구성 파일에서 참조하는 것은 실제로/bin/sh DOS 스크립트가 아니라 쉘 ( ) 스크립트입니다.

작동하는 것은 다음과 같습니다.

C:\prog\git>git config --global core.editor C:/prog/git/npp.bat

C:/prog/git/npp.bat:

#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"

또는

#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"

이 설정 git config --global --edit으로 DOS 또는 Git Shell에서 ' git rebase -i ...'를 수행 하거나 DOS 또는 Git Shell에서 ' '를 수행 할 수 있습니다 .
봇 명령은 새로운 notepad ++ 인스턴스 ( -multiInst'옵션') 를 트리거하고 진행하기 전에 해당 인스턴스가 닫힐 때까지 기다립니다.

'가 아닌 \' / '만 사용합니다 . 그리고 옵션 2를 사용하여 msysgit을 설치했습니다 ( 환경 변수에 git\bin디렉토리를 추가 PATH하지만 일부 내장 Windows 도구를 무시하지 않음)

notepad ++ 래퍼가 .bat라는 사실은 중요하지 않습니다.
이름을 'npp.sh'로 지정하고 [git]\cmd디렉토리 (또는 PATH 환경 변수가 참조 하는 디렉토리) 에 두는 것이 좋습니다.


또한보십시오:


lightfire228 은 주석에 추가합니다 :

N은 ++ 다만, 커밋 메시지를 받아 볼 수없는 빈 파일을 열고, 자식 문제를 가진 사람은 " 중단합니다 때문에 빈 메시지에 커밋 "당신의 변경 .bat이나 .sh파일 말 :

"<path-to-n++" .git/COMMIT_EDITMSG -<arguments>. 

그러면 메모장 ++에 비어있는 새 파일 대신 임시 커밋 파일을 열도록 지시합니다.


바탕 대런의 대답 사용 메모장 + + 당신은 단순히 (모두 한 줄에) 이렇게 할 수 있습니다에 :

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

분명히 그 C:/Program Files/Notepad++/notepad++.exe부분은 시스템에서 Notepad ++ 실행 파일의 경로 여야합니다. 예를 들어, 일 수 있습니다 C:/Program Files (x86)/Notepad++/notepad++.exe.

나를 위해 매력처럼 작동합니다.


어쨌든, 나는 이것으로 놀고 있었고 다음이 나를 위해 잘 작동한다는 것을 알았습니다.

git config --global core.editor "'C:/Program Files/TextPad 5/TextPad.exe' -m"

나는 CMD가 작은 따옴표를 좋아한다고 생각하지 않으므로 "공백 포함 문자열 인수를 지정하려면"큰 따옴표를 사용해야합니다.

Cygwin에서 반면에 (내가 믿는 망할 놈의 강타를위한 기본 플랫폼입니다) 모두 좋아 '하고 "; 문자열이 인용되는 한 (예 : 작은 따옴표를 사용하여) 문자열 /대신을 사용하여 CMD와 유사한 경로를 지정할 수 있습니다 \.

-m오버라이드 (override) / 여러 편집자의 사용을 표시하고, 필요가없는 %*말에 압정으로 고정은.


편집 : vim 7.3으로 업데이트 한 후, 가장 깨끗하고 쉬운 방법은 다음과 같습니다.

  1. Vim의 메인 폴더를 경로에 추가하십시오 (내 컴퓨터-> 속성-> 고급-> 환경 변수를 마우스 오른쪽 버튼으로 클릭하십시오)

  2. 이것을 실행하십시오 :git config --global core.editor "gvim --nofork '%*'"

이 방법으로 수행하면 cygwin에서도 작동 할 것입니다.

원래 답변 :

몇 가지 vim 관련 답변이 있어도 Windows에서 gvim과 함께 작동하는 데 문제가있었습니다 (일괄 파일 또는 % EDITOR % 또는 cygwin을 사용하지 않는 동안).

내가 마침내 도착한 것은 훌륭하고 깨끗하며 여기에 몇 가지 솔루션을 사용합니다.

git config --global core.editor \
"'C:/Program Files/Vim/vim72/gvim.exe' --nofork '%*'"

시간이 오래 걸리는 것 중 하나는 Windows 스타일 백 슬래시가 아니며 정상적인 슬래시입니다.


메모장 ++은 메모장, -m 또는 때로는 내장 된 "편집"을 고수하기로 선택했지만 정상적으로 작동합니다.

Notepad ++를 사용하면서 발생하는 문제는 git이 편집기 실행 파일을 시작하는 방법과 관련이 있습니다. 이에 대한 나의 해결책은 EDITOR를 실제 편집기 실행 파일이 아닌 배치 파일로 설정하여 다음을 수행하는 것입니다.

start /WAIT "E:\PortableApps\Notepad++Portable\Notepad++Portable.exe" %*

/ WAIT는 응용 프로그램이 종료 될 때까지 명령 줄 세션이 중지되도록 지시하므로 자식이 행복하게 기다리는 동안 마음의 내용을 편집 할 수 있습니다. % *는 모든 인수를 배치 파일에 메모장 ++로 전달합니다.

c:\src>echo %EDITOR%
c:\tools\runeditor.bat

워드 패드!

나는 vim을 사용하는 것을 기쁘게 생각하지만 회사에 Git을 소개하려고 시도한 후 우리 모두가 원하는 것을 원했고 Wordpad가 제대로 작동하는 것으로 나타났습니다 (예를 들어 Git은 편집을 마치고 닫을 때까지 기다립니다) 창).

git config core.editor '"C:\Program Files\Windows NT\Accessories\wordpad.exe"'

msysgit에서 Git Bash를 사용하고 있습니다. Windows 명령 프롬프트에서 시도하지 않았습니다 (차이가있는 경우).


나는 또한 Windows에서 Cygwin을 사용하지만 gvim터미널 기반과는 반대 vim입니다.

이 작업을 수행하기 위해 다음을 수행했습니다.

  1. git_editor.bat다음을 포함 하는 한 줄짜리 배치 파일 ( )을 만들었습니다 .
    "C:/Program Files/Vim/vim72/gvim.exe" --nofork "%*"
  2. 에 배치 git_editor.bat했습니다 PATH.
  3. 세트 GIT_EDITOR=git_editor.bat

이 작업을 수행하면 git commit등이 gvim 실행 파일을 올바르게 호출합니다.

참고 1 : --noforkgvim 옵션은 커밋 메시지가 작성 될 때까지 차단되도록합니다.

참고 2 : 경로에 공백이 있으면 gvim 경로 주위에 따옴표가 필요합니다.

참고 3 : git에 공백이있는 파일 경로를 전달할 경우를 대비하여 "% *"따옴표가 필요합니다.


SO 커뮤니티 덕분에 ... 그리고 약간의 연구를 통해 내가 좋아하는 편집자 인 EditPadPro 를 얻을 수 있었으며 WinXP SP3보다 msysgit 1.7.5.GIT 및 TortoiseGit v1.7.3.0의 핵심 편집기로 작동했습니다 ...

위의 조언에 따라 코드 편집기의 bash 스크립트 경로를 추가했습니다 ...

git config --global core.editor c:/msysgit/cmd/epp.sh

그러나 위에서 언급 한 솔루션에 여러 번 실패한 후에 ... 마침내이 작업을 수행 할 수있었습니다. EditPadPro의 문서에 따라 '/ newinstance'플래그를 추가하면 쉘이 편집기 입력을 기다릴 수 있습니다 ....

내 경우에는 ' / newinstance '플래그가 핵심이었습니다 ...

#!/bin/sh
"C:/Program Files/JGsoft/EditPadPro6/EditPadPro.exe" //newinstance "$*"

이것은 더 큰 문제의 1 가지 증상입니다. TERM = dumb으로 설정 한 것이 있습니다. 제대로 작동하지 않는 다른 것들은 less완전한 기능을 갖춘 터미널이 없다는 명령입니다. TERM을 전역 Windows 환경 변수에서 무언가로 설정하면 가장 일반적으로 발생하는 것 같습니다. 저에게 딸기 펄을 설치할 때 문제가 발생 했습니다. 이 문제 에 대한 정보는 여러 가지 솔루션뿐만 아니라이 문제msysgit 버그에 있습니다.

첫 번째 해결책은 다음을 추가하여 ~ / .bashrc에서 수정하는 것입니다.

export TERM=msys

Git BASH 프롬프트에서 다음과 같이 할 수 있습니다 :

echo "export TERM=msys" >> ~/.bashrc

내 환경 설정에 TERM = dumb를 추가하는 Strawberry Perl의 이유에 신경 쓰지 않기 때문에 궁극적으로 내가 한 다른 솔루션 은 msysgit 버그 보고서에 대한이 의견의 지시에 따라 TERM = dumb를 제거하는 것 입니다 .

제어판 / 시스템 / 고급 / 환경 변수 ... (또는 Windows 버전에 따라 유사)는 Windows에서 고정 환경 변수가 설정되는 곳입니다. TERM은 기본적으로 설정되어 있지 않습니다. TERM이 설정되어 있으면 사용자 또는 설치 한 프로그램 중 하나 (예 : Strawberry Perl)가 설정 한 것입니다. 해당 설정을 삭제하면 괜찮을 것입니다.

마찬가지로 Strawberry Perl을 사용하고 CPAN 클라이언트 또는 이와 유사한 것을 신경 쓰면 ~ / .bashrc 파일에서 TERM=dumb단독으로 남겨두고 unset TERM위와 같이 명시적인 용어를 설정하는 것과 비슷한 효과를 낼 수 있습니다.

물론 다른 모든 솔루션은 git config --global core.editor $MYFAVORITEEDITORgit이 좋아하는 편집기를 실행해야 할 때 좋아하는 편집기를 사용 하도록 하는 데 사용할 수있는 올바른 방법입니다 .


원자위해 당신은 할 수 있습니다

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

VSCode 와 유사합니다 .

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

이는 업 열립니다 원자 또는 VSCode의 당신을 통해 커밋을 위해, 창

또는 숭고한

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

c : \ Users \ YourUser 폴더에서 .gitconfig 파일을 편집하고 다음을 추가하십시오.

[core]
editor = 'C:\\Program files\\path\\to\\editor.exe'

Vim / Gvim 은 저에게 잘 작동합니다.

>echo %EDITOR%

c:\Vim\Vim71\vim.exe

PortableGit 1.6이 제대로 작동했지만 PortableGit-1.7 Windows 릴리스로 업그레이드 한 후 문제가 발생했습니다. git 명령 중 일부는 Notepad ++. exe를 열지 만 일부는 그렇지 않습니다. 특히 git rebase는 다르게 동작합니다.

문제는 일부 명령이 Windows cmd 프로세스를 실행하고 일부는 unix cmd 프로세스를 사용한다는 것입니다. 메모장 + + 편집기에 시작 속성을 지정하고 있으므로 사용자 정의 스크립트가 필요합니다. 내 해결책은 이것입니다.

1) 적절한 텍스트 편집기를 실행하는 스크립트를 작성하십시오. 스크립트가 이상하게 보이지만 윈도우와 유닉스 변형을 모두 처리합니다. c : /PortableGit/cmd/git-editor.bat

#!/bin/sh
#open a new instance

function doUnix() {
  "c:\program files\notepad++\notepad++.exe" -multiInst -nosession -notabbar $*
  exit
}

doUnix $*

:WINCALL
"c:\program files\notepad++\notepad++.exe" -multiInst -nosession -notabbar %*

2) 전역 core.editor 변수 설정 스크립트가 이미 gitconsole 경로에 있도록 git / cmd 폴더에 저장되었습니다. 전체 경로가 제대로 작동하지 않을 수 있으므로 필수입니다.

git config --global core.editor "git-editor.bat"

이제 git commit -agit rebase -i master 명령을 실행할 수 있습니다. Git windows 도구에 문제가 있으면 사용해보십시오.


여러 플랫폼에서 git을 사용하고 모든 플랫폼에서 동일한 git 설정을 사용하고 싶습니다. (사실, 모든 구성 파일을 git으로 릴리스 제어하고 각 시스템에 git 저장소 복제본을 넣습니다.)

편집기giteditor로 설정 했습니다.

git config --global core.editor giteditor

그런 다음 PATHgiteditor 라는 기호 링크를 만듭니다 . (개인 bin 디렉토리가 있지만 PATH의 아무 곳이나 작동합니다.)이 링크는 현재 선택한 편집기를 가리 킵니다. 다른 컴퓨터와 다른 플랫폼에서는 다른 편집기를 사용하므로 범용 git 구성 ( .gitconfig ) 을 변경할 필요가 없으며 giteditor가 가리키는 링크 만 변경할 수 있습니다.

심볼릭 링크는 내가 아는 모든 운영 체제에서 처리하지만 다른 명령을 사용할 수도 있습니다. Linux의 경우 ln -s 를 사용하십시오 . Windows의 경우 cmd 내장 mklink 를 사용하십시오 . 그것들은 다른 구문 (당신이 찾아봐야 함)을 가지고 있지만 실제로는 모두 같은 방식으로 작동합니다.


를 기반으로 VonC의 위 제안 이 나를 위해 일 (날 미치게되었다)

git config --global core.editor "'C:/Program Files (x86)/Sublime Text 3/subl.exe' -wait"

생략 -wait하면 특히 gerrit에 대해 작업하고 커밋 메시지의 맨 아래에 수동으로 복사해야하는 id를 변경하는 경우 문제가 발생할 수 있습니다.


이것은 Geany 를 git의 편집기 로 사용하는 설정입니다 .

git config --global core.editor C:/path/to/geany.bat

geany.bat에 다음 내용이 포함됩니다.

#!/bin/sh
"C:\Program Files\Geany\bin\Geany.exe" --new-instance "$*"

DOS 콘솔과 msysgit에서 모두 작동합니다.


Windows에서 Cygwin을 사용하므로 다음을 사용합니다.

export EDITOR="emacs -nw"

-nw입니다 no-windows즉, 시도 및 X11을 사용하지 이맥스를 말해.

Emacs 키 바인딩은 Windows 쉘에서 작동하지 않으므로 Cygwin 쉘에서만 사용합니다 ... (rxvt 권장)


경로에 공백이 있으면 Git이 편집기를 찾지 못하는 것처럼 보입니다. 따라서 Patrick의 답변언급 된 배치 파일을 공백이 아닌 경로 에 넣어야합니다 .


저는 이맥스를 선호합니다. 설정하는 것은 약간 까다로울 수 있습니다.

  1. emacs를 다운로드하고 같은 곳에서 압축을 풉니 다 c:\emacs.
  2. 를 실행하십시오 c:\emacs\bin\addpm.exe. Windows Vista 이상을 사용하는 경우 마우스 오른쪽 단추를 클릭하고 "관리자 권한으로 실행"을 수행해야합니다. 그러면 실행 파일이 경로에 배치됩니다.
  3. 파일 (server-start)어딘가에 추가 .emacs하십시오. 파일 을 넣을 위치에 대한 조언 Emacs Windows FAQ참조하십시오 .emacs.
  4. git config --global core.editor emacsclientw

Git은 이제 기존 emacs 프로세스 내에서 파일을 엽니 다. 에서 기존 프로세스를 수동으로 실행해야 c:\emacs\bin\runemacs.exe합니다.


git이 워드 패드, KomodoEdit 및 거의 모든 편집기와 협력하는 데 어려움을 겪었습니다. 편집을 위해 열려 있지만 git은 저장 / 닫기가 발생할 때까지 기다리지 않습니다.

목발로서, 나는 방금

git commit -m "Fixed the LoadAll method"

물건을 계속 움직여 커밋 메시지를 예상보다 조금 짧게 유지하지만 Windows 버전의 git에서 수행해야 할 작업이 분명히 있습니다.

GitGUI도 그렇게 나쁘지 않습니다. 약간의 방향이 필요하지만 그 후에는 꽤 잘 작동합니다.


git을 windoze에서 notepad ++로 시작하려면 다음 두 가지를 모두 수행해야 했습니다.

.gitconfig에 다음을 추가하십시오.

editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin

관리자로 실행하기 위해 git bash 쉘을 시작하는 단축키를 수정 한 다음이를 사용하여 git bash 쉘을 실행하십시오. 상황에 맞는 메뉴 항목 "Git Bash here"가 필요한 권한으로 npp를 시작하지 않았다고 생각했습니다.

위의 두 가지를 모두 수행 한 후 효과가있었습니다.


방금 같은 문제가 있었고 다른 해결책을 찾았습니다. 나는 얻고 있었다

error: There was a problem with the editor 'ec'

나는 한 줄을 포함하는 경로에 VISUAL=ec배치 파일을 배치했습니다 ec.bat.

c:\emacs\emacs-23.1\bin\emacsclient.exe %*

이를 통해 명령 줄에서 파일을 편집 할 수 있으며 ec <filename>, 시각적 설정을하면 대부분의 unixy 프로그램에서도 파일을 선택할 수 있습니다. 힘내 내 다른 명령하지만 다르게 경로를 검색하는 것 - 내가 보았을 때 git commitProcMon I가의 경로에있는 모든 폴더에 찾아보고 ec및 위해 ec.exe,하지만에 대한 ec.bat. 다른 환경 변수 ( GIT_EDITOR=ec.bat)를 추가 했으며 모두 괜찮 았습니다.


따옴표와을 사용하여 EDITOR 변수를 설정하여 환경 버전이 작동하도록했습니다 /.

EDITOR="c:/Program Files (x86)/Notepad++/notepad++.exe"

훌륭한 시각적 옵션 인 Windows 용 GitHub를 사용하고 있습니다. 그러나 명령 줄을 선호하므로 Git 셸에서 리포지토리를 열 때 작동하도록하려면 다음을 설정하십시오.

git config --global core.editor vim

잘 작동합니다.


Powershell 및 cmder-1.2 (powershell과 함께 사용하는 경우)에서 작동합니다. ~ / .gitconfig에서

[core]
    editor = 'c:/program files/sublime text 3/subl.exe' -w

Sublime Text를 Git의 기본 편집기로 만들려면 어떻게해야합니까?


오래된 스레드를 부활 시켰지만 여기에 게시 된 매우 간단한 해결책을 찾았습니다 . 저자에 의해 주어진 "subl"파일을 복사 해야하는 경로에 실수가있을 수 있습니다. Win 7 x64를 실행 중이며 "subl"파일을 내 /Git/cmd/폴더에 넣어서 작동시켜야했습니다. 그래도 매력처럼 작동합니다.


원자와 Windows 10

  1. 데스크탑에서 Atom 아이콘을 마우스 오른쪽 단추로 클릭하고 특성을 클릭하십시오.
  2. "시작"위치 경로를 복사했습니다.
  3. Windows 탐색기로 저쪽을보고 "atom.exe"를 찾았습니다.
  4. git bash에 이것을 입력하십시오 :

    git config --global core.editor C:/Users/YOURNAMEUSER/AppData/Local/atom/app-1.7.4/atom.exe"

참고 :에 \대해 모두 변경 했습니다 /. 나는 내 홈 디렉토리에 .bashrc를 만들고 내 홈 디렉토리 /를 설정 하는 데 사용 했으며 작동 했으므로 /갈 길이 라고 가정했습니다 .


원격으로 마운트 된 홈 드라이브 (samba 공유, nfs 등)를 사용하는 경우 ~/.git폴더는 모든 시스템과 공유 되므로 여러 가지 문제가 발생할 수 있습니다. 따라서 올바른 시스템에 적합한 편집기를 결정하는 스크립트를 선호합니다.

#!/usr/bin/perl
# Detect which system I'm on and choose the right editor
$unamea = `uname -a`;
if($unamea =~ /mingw/i){
    if($unamea =~ /devsystem/i){#Check hostname
        exec('C:\Program Files (x86)\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
    if($unamea =~ /testsystem/i){
        exec('C:\Program Files\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
}
$MCEDIT=`which mcedit`;
if($MCEDIT =~ /mcedit/){
    exec($MCEDIT, @ARGV);
}
$NANO=`which nano`;
if($NANO =~ /nano/){
    exec($NANO, @ARGV);
}
die "You don't have a suitable editor!\n";

평범한 쉘 스크립트를 고려할 수도 있지만 perl은 msysgit과 함께 제공되며 unixoid 시스템도 제공합니다. 스크립트를에 /home/username/bin삽입하고 PATH.bashrc또는에 추가해야합니다 .profile. git config --global core.editor giteditor.pl당신이 추가되면 당신이 어디에 있든 올바른 편집기가 있습니다.


이것은 Cygwin과 Textpad 6 (편집 : 스크립트를 분명히 변경하는 한 Textpad 5와 함께 작업)을 사용하여 작동하며 다른 편집기에서도 모델을 사용할 수 있습니다.

~ / .gitconfig :

[core]
    editor = ~/script/textpad.sh

~ / script / textpad.sh

#!/bin/bash

APP_PATH=`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`
FILE_PATH=`cygpath -w $1`

"$APP_PATH" -m "$FILE_PATH"

이 하나의 라이너도 작동합니다.

~ / script / textpad.sh (옵션 2) :

"`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`" -m "`cygpath -w $1`"

이것은 나를 위해 일했다 :

  1. 편집기의 실행 파일이 포함 된 디렉토리를 PATH 변수에 추가하십시오. (예 : "C : \ Program Files \ Sublime Text 3 \" )
  2. 컴퓨터를 재부팅하십시오.
  3. core.editor 전역 git 변수를 확장자 '.exe'가 없는 편집기 실행 파일 이름으로 변경하십시오 (예 : git config --global core.editor sublime_text)

그게 다야!

참고 : Sublime Text 3은이 예제에서 사용한 편집기입니다.

참고 URL : https://stackoverflow.com/questions/10564/how-can-i-set-up-an-editor-to-work-with-git-on-windows



반응형