이 병합이 필요한 이유를 설명하기 위해 커밋 메시지를 입력하십시오 (특히 업데이트 된 업스트림을 토픽 브랜치로 병합하는 경우).


515

Git을 사용하고 있습니다. 원격 저장소에서 가져 와서 오류 메시지가 나타납니다.


특히 병합 된 업데이트 된 업스트림을 토픽 브랜치에 병합하는 경우이 병합이 필요한 이유를 설명하는 커밋 메시지를 입력하십시오 .

메시지를 입력하고 누르 Enter려고하지만 아무 일도 일어나지 않습니다.

Git / Terminal에 메시지 입력이 완료되었음을 어떻게 알 수 있습니까?

OS X에서 터미널을 사용하고 있습니다.


3
GIT가 사전 구성된 템플릿을 열도록 구성되어 있고 해당 템플릿이 기본 편집기 (vi / vim)를 통해 열립니다.
Shunya

이 병합을 중단하고 git pull --rebase를 사용하십시오.
Ankush Jain

3
"Shift ZZ"로 문제를 해결하십시오
papacico

답변:


1189

git 오류 메시지가 아니며 git이 기본 편집기를 사용하므로 편집기입니다.

이 문제를 해결하려면

  1. "i"를 누릅니다 (삽입의 경우 i).
  2. 병합 메시지 작성
  3. "esc"를 누르십시오 (탈출)
  4. ": wq"쓰기 (쓰기 및 종료)
  5. 그런 다음 Enter 키를 누릅니다

7
좋아, 그러나 이것은 그의 편집자가 vi또는 이라고 가정 vim합니다.
가브리엘 페트로 넬라

106
그것은 복잡합니다
코너 Leech

92
내가 싫어하는 주Vi
Sobiaholic

153
"i"는 "삽입"에 대한 것이고 "esc"는 삽입에 대한 출구이고 ": wq"는 "쓰기"및 "quit"에 해당합니다.
Josh Beam

83
이뿐만 아니라 수 있습니다 ↑↑ ↓↓ ← → ← → BA
웨슬리 스미스

39

실제로 오류가 아닙니다! 이 병합을 표시하려면 메시지를 입력해야합니다. 내 OS는 Ubuntu 14.04입니다. 동일한 OS를 사용하는 경우 다음과 같이하면됩니다.

  1. 메시지를 입력하십시오

  2. CtrlCO

  3. 파일 이름 (예 : "Merge_feature01")을 입력하고 Enter

  4. CtrlX 나가기 위해서

이제 .git로 이동하여 "Merge_feature01"파일을 찾으면 실제로 병합 로그입니다.


6
누군가 이것을 어떻게 알 수 있을까? 이것이 어떻게 작동하는지 너무 이상합니다. 답변 해 주셔서 감사합니다.
Adrian Carr

@ScottyBlades 왜 지구상에서해야합니까? 질문에 osx 태그가 지정되어 있으며이 답변은 Ubuntu가 Git에 대해 완전히 다른 설정을 설정하는 방법 ( nano또는 사용 pico)에 관한 것으로 OS X 설정에는 적용되지 않습니다. 그것은 일반화 할 수 없으며 작동 방식에 대한 통찰력을 제공하지 않으므로 @AdrianCarr이 남긴 의견입니다. 지금 훨씬 더 나은 답변이 있습니다.
oligofren

27

tl; dr 편집기를 Sublime 또는 Atom과 같은 더 멋진 것으로 설정하십시오.

여기서 nice원하는 편집기의 의미로 사용 되거나보다 사용자에게 친숙 하다는 것을 의미 합니다.

기본 문제는 Git이 기본적으로 대부분의 사람들에게 사용하기에 너무 직관적이지 않은 편집기를 사용한다는 것입니다 : Vim. 자, 내가 잘못하지 마라, 나는 Vim을 좋아한다. 그리고 당신은 Vim을 배우고 어떤 사람들이 Vim이 존재하는 가장 큰 편집자라고 생각하는 이유를 이해 하기 위해 한 달 같은 시간을 따로 내릴 수 는 있지만 더 빠른 방법이있다. 이 문제를 해결 :-)

해결 방법은 수락 된 답변과 같이 암호 명령을 암기하는 것이 아니라 Git을 구성하고 좋아하는 편집기를 사용하도록 구성하는 것입니다! 이 옵션 중 하나를 구성하는 것만 큼 간단합니다

  1. git config 설정 core.editor(프로젝트 당 또는 전 세계적으로)
  2. VISUAL또는 EDITOR환경 변수 (뿐만 아니라 다른 프로그램이 작동)

몇 가지 유명한 편집자들을위한 첫 번째 옵션을 다룰 것이지만, GitHub는 많은 편집자 들에게도 훌륭한 가이드를 제공합니다.

Atom을 사용하려면

직선 의 문서에서 , 터미널이를 입력 : git config --global core.editor "atom --wait"

Git은 일반적으로 에디터 명령이 완료되기를 기다립니다. 그러나 Atom은 백그라운드 프로세스로 즉시 분기되므로 --wait옵션을 지정 하지 않으면 작동하지 않습니다 .

숭고한 텍스트를 사용하려면

Atom의 경우와 같은 이유로, 백그라운드로 포크해서는 안된다는 프로세스에 신호를 보내려면 특별한 플래그가 필요합니다.

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


Vim은 한 달이 걸리지 않습니다. 처음에는 때때로 필요한 치트 시트를 유지하는 한 이틀이 걸리며 결코 잊지 못할 것입니다.
user264431

22

그냥 해,

CTRL + X

CTRL + C

파일을 저장하라는 Y메시지가 표시됩니다.를 누르면 완료됩니다.


기본 편집기가 "pico"또는 "nano"인 경우 기본 편집기가 vim 인 경우 위의 주석을 사용해야합니다.
JacKeown

7

이 병합을 수행 한 이유를 나중에 참조 할 수 있도록 병합과 연결하는 메시지를 요청합니다.

press "i"
on top above on #lines write your message
press "esc" button
write ":wq" (it will write in bottom automatically)
press enter

6

대신 CtrlZ커밋을 재 시도하고 다시 시도 할 수 있지만 이번에는 따옴표 뒤에 메시지와 함께 "-m"을 추가하면 해당 페이지를 묻는 메시지가 표시되지 않고 커밋됩니다.


3
lol 이것은 분명히 OP의 문제를 해결할 것입니다. git commit -m 'I did blah'
James M. Lay

Linux 터미널에 git 버전 1.7.11.4가 있으며 git commit -m "message"또는 git commit --message "message"를 제공한다는 사실에도 불구하고 여전히 편집기가 팝업되어 메시지를 요청합니다. "-m"스위치가 왜 무시되는지 아는 사람이 있습니까?
pglpm

4

로컬 저장소는 커밋이 거의 없기 때문에 git은 원격을 로컬 저장소에 병합하려고합니다. 이것은 병합을 통해 처리 할 수 ​​있지만, 경우에 따라 rebase를 찾고있을 것입니다. 즉 커밋을 맨 위에 추가하십시오. 당신은 이것을 할 수 있습니다

git rebase 또는 git pull --rebase

git pull& 의 차이점을 설명하는 좋은 기사가 git pull --rebase있습니다.

https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/


0

병합과 함께 안드로이드 스튜디오 터미널에 메시지를 추가하는 방법 이것은 Mac 사용자를위한 것입니다.

  • 1 단계- "i"를 누르십시오
  • 2 단계- "#"뒤에 메시지를 입력하십시오
  • 3 단계- "esc"를 누릅니다
  • 맨 아래에 4 단계 : ": wq"
  • 5 단계- "Enter"를 누르십시오

병합이 완료된 후 계속해서 로컬로 가져 오거나 새 브랜치를 만들 수 있습니다.


0

Git 오류 메시지가 아니며 기본 편집기를 사용하는 편집기입니다.

이 문제를 해결하려면

  1. "i"를 누르십시오
  2. 병합 메시지 작성
  3. “esc”를 누르십시오
  4. “: wq”라고 쓰십시오
  5. 그리고 Enter를 누르십시오

설명

이것을 기억하는 방법은“i”는“삽입”용이고“esc”는 삽입 출구이고“: wq”는“쓰기”및“종료”입니다.


0

이것은 오류가 아닙니다. 이 병합을 위해 massege를 추가해야합니다

이 문제를 해결하려면 :

  1. "i"를 눌러 마사지를 삽입하십시오
  2. 당신의 안마를 쓰십시오
  3. "esc"를 누르십시오
  4. ": wq"쓰기 (대량 저장 및 종료를 위해 쓰기 및 종료)
  5. 엔터 키를 치시오"

-1

git을 처음 사용했기 때문에 오류를 발견했습니다. 올바른 구문을 입력했는지 확인해야합니다

나는 실수를했다 git commit

같은 오류가 발생했습니다

사용하다 git commit -m 'some comment'

그리고 당신은 페이지를 볼 수 없습니다

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