내가 하고 싶었던 것 : Github Desktop - Squash and merge
문제 : 지금까지 한 커밋들을 하나로 합쳐, 새로운 이름을 가진 커밋으로 main에 추가하는 기능
-> 중간중간 main으로 머지했어야 했는데, 미루다가 브랜치에서 몇 십개의 커밋이 이뤄졌음
그래서 그냥 커밋 하나로 합칠까... 아니면 커밋들 전부를 그대로 합칠까...
나랑 타협을 시도해봤지만, 용납할 수 없다는 결론을 내렸고 , 그럼 어쩌겠어... 해내야지....
[Git] Interactive Rebase로 커밋 그래프 깔끔하게 만들기
Rebase 명령어를 통해 Git 커밋 그래프를 깔끔하게 만드는게 가능합니다. 여기서 Interactive Rebase를 사용하면 커밋 내용도 다시 정리하여 훨씬 더 깔끔하게 만드는 것이 가능합니다.먼저 Rebase 명령어
velog.io
* Merge vs. Rebase
- 공통점 : 두 브랜치 합치기
- Merge : 새로운 커밋 생성, 합치기
- Rebase : 새로운 커밋 x, 합치기
* Rebase, Interactively Rebase 차이점
- 공통점 : 브랜치의 기준 변경(rebase)
- Rebase : 커밋 내용, 순서 변경없이 그대로 적용
- Interactively Rebase : 각 커밋에 대해 작업 선택 가능 (합치기, 삭제, 커밋 메시지 수정 등)
* Interactively Rebase 옵션
- Pick : 커밋 그대로 사용
- Edit : 수정을 위해 중지
- Reword : 커밋 메시지 수정
- Squash : 이전 커밋에 합치고 메시지 유지
- Fixup : 이전 커밋에 합치고 메시지 버림
이 중에서, Reword는 커밋 메시지를 변경할 수 있는 거고
내가 실수했던 부분
Squash가 상위(최신) 커밋에 합쳐지는 건 줄 알았는데, 방향이 그게 아니고
하위(이전) 커밋에 합쳐지는 거였다... !!!!!!!!!
왜 내가 원하는대로 안 되는 거지...? 싶어서 Reset으로 여러 번 원래 상태로 되돌리다가, 뭐가 잘못됐지... 고민하다가
화살표방향이 아래로 향하는 거면 아래로 합쳐지는 거고, 내가 잘못했음을 깨달았다 ㅎㅋ
'공부 > Git, GitHub' 카테고리의 다른 글
[모두의 깃&깃허브]8장. 명령어로 깃허브 다루기 (0) | 2024.06.05 |
---|---|
[모두의 깃&깃허브]7. 명령어로 버전 관리하기 2 (0) | 2024.06.04 |
[모두의 깃&깃허브]6. 명령어로 버전 관리하기 1 (0) | 2024.06.02 |
[모두의 깃&깃허브]3장. 버전 가지고 놀기 (0) | 2024.05.30 |
[모두의 깃&깃허브]2장. 깃으로 버전 관리 시작하기 (0) | 2024.05.29 |