[Git] 원격 저장소 커밋에 누락한 파일 추가하기

dondonee·2024년 5월 5일
0
post-thumbnail
post-custom-banner

원격 저장소 커밋에 누락한 파일 추가하기

프로젝트에 부트스트랩 5 커스터마이징을 적용한 뒤 커밋을 하고 원격 저장소에 push를 했다. 그런데 이어서 작업하다보니 .gitignore를 수정하는 것을 깜박했다는 걸 뒤늦게 알게되었다. 부트스트랩의 원본 SCSS 파일(/node_modules)은 git으로 추적할 필요가 없기 때문이다.

이미 원격 저장소로 커밋이 올라가 버렸지만 한 줄 짜리 작업이라 따로 커밋하기도 그렇고, 다른 커밋과 합치기에는 너무 성격이 달랐다. 원격 저장소이기는 하지만 어차피 혼자 쓰는 저장소니까 그냥 수정하기로 했다.



Rebase로 덮어쓰기

  1. 먼저 git stash로 현재 워킹트리를 별도 공간에 보관해 놓는다.
  2. git pull origin [branch]로 원격 저장소 최신 정보를 가져온다.
  3. git rebase -i HEAD~n 수정할 커밋을 탐색한다.
  4. 에디터에서 해당하는 커밋의 picke로 변경한다.
  5. git stash popgit add .gitignore 누락한 파일을 꺼낸다.
  6. git commit —amend 커밋을 덮어쓴다.
  7. git stash
  8. git rebase --continue 리베이스 작업을 종료한다.
    • git diff HEAD~n : push 전에 변경내역을 확인한다.
  9. git push -f origin [branch] 원격 저장소 커밋에 강제로 덮어쓴다.
  10. git stash pop


git rebase는 수정 이력이 남지 않기 때문에 다른 사람과 함께 사용하는 공용 저장소에서는 사용하면 안 된다!



post-custom-banner

0개의 댓글