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

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

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

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

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

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



답변

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

이 문제를 해결하려면

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

답변

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

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

  2. CtrlCO

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

  4. CtrlX 나가기 위해서

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


답변

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"


답변

그냥 해,

CTRL + X

CTRL + C

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


답변

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

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


답변

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


답변

로컬 저장소는 커밋이 거의 없기 때문에 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/