내 브랜치가 오래된 브랜치란 사실과 pull을 받지 않았다는 사실을 잊은 채 merge를 시도했다.
merge가 안된다는 오류가 떴고, rebase를 해야겠다고 결심했다.
그래서 rebase를 했는데 계속해서 conflict가 생겼고.. conflict를 해결하다가 정신을 놓아버린 나머지 merge까지 시켰다..
그 결과 그래프가 난리가 났고
ㅋㅋㅋㅋㅋㅋㅋ
기본 merge가 squash merge로 변경되었다..
이래서 신입사원한테 merge 권한 안준다는 깨달음을 팀장 오빠에게 안겨주었다ㅎㅎ..
- Merge
대부분 사용하는 방식으로, 커밋 이력이 모두 남는다.
- Squash Merge
Squash는 여러 개의 커밋을 하나로 합치는 것을 의미한다.
Squash Merge를 하게 되면 이전에 했던 커밋 히스토리가 사라지니 주의해야 한다.
- Rebase Merge
내 브랜치가 분기된 커밋이 내 브랜치의 Base가 된다.
Rebase는 말 그대로 Base를 다시 설정하는 것이다.
내가 Rebase를 했기 때문에 나의 커밋들이 먼저 찍히고, 그 후 develop에 있던 커밋들이 찍히게 되었다.
따라서 그래프가 매우 길어졌고 보기 힘들어졌다.
Sqaush Merge를 했다면 커밋이 하나로 줄어들어서 해결되었을텐데..🫢
결국 origin을 강제로 이전의 develop으로 이동시키고 문제의 브랜치는 삭제한 뒤,
새로운 브랜치를 최신 develop을 base로 만들어서 작업을 함으로써 문제를 해결했다.
길었던 커밋 기록들은 사라지게 되었다~!
Git에 대한 지식이 부족해서 일어난 일인것 같다..
Squash merge의 존재를 알았더라면 이런 일이 없었겠지😢
'Git' 카테고리의 다른 글
[Git] Git Workflow(Git-Flow, GitHub-Flow) (0) | 2023.04.29 |
---|---|
[Git] Git/GitHub (0) | 2023.04.28 |