rebase 도중 untracked 파일 충돌 원인과 해결 방법
rebase가 미추적 파일을 덮어쓸까 봐 멈추는 이유를 워킹 트리 보호 원칙으로 짚고, squash로는 왜 풀리지 않는지와 stash -u로 치운 뒤 이어가는 해결 순서를 정리했다.
태그
7편 · 아카이브에서 필터로 보기
rebase가 미추적 파일을 덮어쓸까 봐 멈추는 이유를 워킹 트리 보호 원칙으로 짚고, squash로는 왜 풀리지 않는지와 stash -u로 치운 뒤 이어가는 해결 순서를 정리했다.
이미 원격까지 올라간 .gradle·build 디렉터리를 되돌리려고 git rm --cached로 인덱스에서만 걷어내고 commit --amend로 마무리한 기록. 마지막 커밋·과거 커밋·이력 완전 삭제까지 상황별 명령을 표로 갈라 두었다.
의미 없는 `.` 커밋이 원격까지 올라간 상태에서 기여용 PR을 내기 위해, interactive rebase로 커밋을 squash하고 amend로 메시지를 다듬어 이력을 정리한 기록.
GitHub Actions가 저장소 파일을 지운 뒤 git pull로 로컬까지 날아간 상황을, 마지막 정상 커밋에서 recovery 브랜치를 따고 develop을 reset --hard로 되돌려 복구한 기록.
중앙집중식 SVN과 분산형 Git이 커밋 시점, 네트워크 의존성, 브랜치 전략에서 어떻게 갈리는지 실무 작업 순서를 나란히 놓고 비교한 정리.
코드리뷰가 끝난 PR이 메인 브랜치와 충돌했을 때 merge 대신 rebase로 이력을 일직선으로 유지하며 푼 과정. GitHub의 세 가지 머지 방식 차이도 함께 짚었다.
로컬 메인과 원격 메인이 어긋난 두 상황을 나눠, 기능 브랜치는 rebase로 원격 메인 위에 다시 얹고 어긋난 로컬 메인은 초기화해 정리한 기록.