저번 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 "브랜치명"