에러)Need to specify how to reconcile divergent branches

황에녹·2023년 4월 18일
0

에러

목록 보기
2/3
post-thumbnail

[에러 내용]

git push 에러

저번 push 에러에서 이어진다.

push를 위해 pull을 선행하려했지만, 거부되고 있다.



[에러 이유]

-다양한 가지가 있고 이를 조정하는 방법을 지정해야 합니다.
-서로 다른 분기를 조정하는 방법을 지정해야 합니다.

중간에 있는 ff=>fast-forward는 아직 뭔지 모르겠다...

아무튼 문제는
원격 저장소에도 변경사항 O
로컬 저장소에도 변경사항 O (commit)

이러면,
원격 저장소의 변경사항을 받아온 후(pull 선행)
내 변경사항을 push해야하는데,

pull 하기 전에 이미 commit을 한 상황이라
pull이 안되는 상황임.

(pull → commit → push : ok)
(commit → pull : error)


[에러 해결]

로컬 저장소의 commit을 지우고 pull을 한 후
다시 최상단 링크의 해결방법대로 push를 하면 된다.
(commit 삭제 → pull → commit → push : ok)

주의 사항
commit은 save point라고 생각하면 된다.
함부로 지우면,
commit까지 작성했던 코드도 날아갈 수 있다.

git reset --soft HEAD^

	// 1. '--soft'는 옵션이다. 
		변경이력(commit)을 삭제하지만, 작성했던 코드는 남아있다.
	   (stage도 되어있어 'git add .'를 스킵한다.)

	// 2. 'HEAD^'는 commit을 이전상황으로 돌린다. 
	여러개의 커밋을 돌리려면 'HEAD~숫자'를 입력해주면 된다.
	e.g. git reset --soft HEAD~2
	(현재 커밋 + 2개 커밋을 삭제.
	만약 작성한 커밋이 2개이고 위 명령어를 입력하면, 커밋이 모두 없어진다.)

git pull origin "브랜치명"

git commit -m "커밋내용"

git push origin "브랜치명"

git reset에 관한 자세한 내용

profile
개발, 영화, 음악

0개의 댓글