TIL 41 git fetch, stash, reset --soft

Winney·2020년 11월 12일
0

git을 사용하다가 main에 merge 되면서 문제가 생겼다. rebase를 한거라 commit이 1개만 남아있어야 정상인데 사라지지 않는 commit...
혼자 해결해보려고 파일을 지우고 clone을 받고 다시 파일 복사하고...
당연한 말이지만 해결되지 않았다😭

그래서 멘토님께 갔더니 새로운 git 명령어와 사실을 알게되었다.

  • git fetch
  • git stash
  • git reset --soft

순서

  1. git checkout main
  2. git checkout -b feature/hdpage
    (새로 만든 브랜치)
  3. git fetch
    (remote에 있는 브랜치에 접근하기 위해 사용)
  4. git checkout feature/hoteldetailpage
    (기존 진행 파일이 있던 브랜치, PR 했던 브랜치)
  5. git reset --soft 작업직전커밋해시
    (기존 진행하던 브랜치에서 작업하기 직전 상황까지 모든 커밋을 취소하고 staging 상태로 돌리기 => 그래야 작업시작부터 작업끝 내용 모두 stash 할 수 있다.)
  6. git stash
  7. git stash list
    (stash list 확인)
  8. git checkout feature/hdpage
  9. git stash apply
  10. conflict 해결
  11. npm install
    (합쳐진 두 package.json이 다를 경우)
  12. git add & git commit
  13. git rebase -i main
  14. git push origin feature/hdpage
  15. PR 작성

💛 참고

  • 중간에 push가 안 되면 origin을 빼고 다시 push 해볼것 (정확히 기억이 안남...)
  • package-lock.json에 문제가 생기면 package-lock.json을 삭제하고 다시 install 해보자. install하면 다시 package-lock.json이 생성된다.
profile
프론트엔드 엔지니어

0개의 댓글