<git 00탄 무한의 계단...>

강민수·2021년 12월 31일
0

진실의 방

목록 보기
22/26

필자는 지금 팀 프로젝트 진행 중에 새로운 깃의 늪 속으로 빠져있다. 그래서 이제는 깃에는 탄의 개념을 안 붙이겠다 ㅋㅋㅋ

그냥 마치 위의 게임과 같은 느낌이라고 보면 되겠다. 끝이 없는 계단의 끝을 향해 하나씩 올라가는 느낌... 물론 끝은 있겠지만, 러닝 커브가 생각보다 높다는 것을 다시 절감했다.

1) 사건의 발단.

사건의 시작은 팀원들과의 초기 셋팅 과정에서 다시 발생했다. 백엔드 쪽의 모델링 수정 후, 다시 깃 머지를 받는 과정에서 사건은 시작된다.

당시 우리 팀은 깃 머지라는 것에 대한 개념이 확실하지 않았기에...

다소 위험하지만, 필요한 실험이 필요했다. 그래서 필자는 개인 피쳐 브랜치에서 깃 풀을 시도해 봤다.

그런데, 막상 개인 브렌치에서 깃 풀 자체가 안 먹혔다.

당연했다.

이에 대해서는 후술 하겠지만, 기본적으로 깃은 풀을 받기 위해서는 자신의 개인 브렌치에서 받을 수 없다.

2) 잘못된 길로 빠져 버린....

그래서 어떻게 하는 지 방법을 찾다가 뭔가 새로운 방법을 찾아 버렸다.

그것은 이름하야... 리베이스...

필자의 무지성이 바로 여기서 하필 발휘해 버렸다. 그래서 리베이스가 제대로 무엇인지도 모르고 질러버렸다.

그리고 풀을 댕겨왔다. 그러니 또 풀은 되는 게 아닌가?

오~ 드디어 해결한 것인가? 하는 안도와 함께 개인 피처 브랜치로 넘어가 기존처럼

git add.

git commit

git push origin ~
을 하는 순간!

다시 또 에러와 마주하고 말았다.

에러명: 깃허브 non-fast-forward 에러

03) 에러 해결

아니 이게 무슨 일이지? 싶어서 에러를 해결하고자 폭풍 구글링을 시작했다. 구글링 결과 이는 깃헙에 생성된 원격 저장소와 로컬에 생성된 저장소 간 공통분모가 없는 상태에서 병합하려는 시도로 인해 발생한다고 한다. 기본적으로 관련 없는 두 저장소를 병합하는 것은 안되도록 설정되어 있다.

이걸 보고 딱 깨달았다. 아 내가 뭔가 리베이스에서 잘못된 실수를 했구나...

그래서 찾아본 결과.

해결책: 강제로 푸쉬를 해주는 명령어를 넣어주면 다시 회생이 다행히도 가능했다.

Git push origin feature/OOO -- force

Push origin 뒤에 -- force 를 붙여주면, 과거 커밋 내역과 상관없이 지금 현재 커밋내용으로 덮어씌워 버리는 명령어이다.

딱 이 느낌이었다. 그래서 진짜 이번에는 리베이스와 머지에 대해 다시 한 번 살펴보고 깃에 대해 한 계단 올라서야겠다는 생각이 들었다.

다음 포스팅은 그래서 깃에서 리베이스와 머지에 대해 한 번 정리해 보고 어떻게 사용하는 것이 좋은 지에 대해 적어보고자 한다.

profile
개발도 예능처럼 재미지게~

0개의 댓글