티스토리 뷰

728x90
반응형

꼭 필요한 명령어지만,
자주 사용하지않아서 자꾸자꾸 잊어버리는.. 😫
git - add, commit, push, pull, merge 취소 명령어에 대해 정리📝해 보았어요!


git add 취소

✔️ 특정 하나의 파일만 stage에서 제거할 때

git reset [지우려는 파일이름]

✔️ add한 모든 파일을 stage에서 제거할 때

git reset

git commit 취소

너무 일찍 커밋한 경우,
특정 파일을 빼먹고 커밋한 경우의
add 하기 전 상태로 되돌리는 명령어☝🏻

git reset HEAD^

✔️ commit 취소후, 취소하기 전 commit으로 다시 되돌리고싶은 경우

git reflog

를 터미널에 입력하면,

HEAD@{0}: commit: Refactor : 네트워킹 진행 구조 변경
HEAD@{1}: pull origin main: Fast-forward
HEAD@{2}: reset: moving to HEAD@{3}

이런 식으로, 그동안 진행했던 로그들이 쭉 나옵니다.
취소하고 싶은 로그의 번호를 확인하고
(예를들어, HEAD@{0}부분으로 되돌리고 싶으면)

git reset --hard HEAD@{0}

✔️ commit message만 변경하고싶은 경우

git commit --amend

git push 취소

⚠️ 이 명령을 하게되면, local의 내용을 remote에 강제로 덮어쓰게 됩니다!!

  • 되돌아간 commit이후에 작성했던 모든 commit정보가 지워져요🗑
  • 협업 진행시, 팀원들과의 동기화문제가 발생할 수 있어요😱

1️⃣ 가장 최근의 commit 취소

git reset HEAD^

2️⃣ 원하는 시점으로 워킹 디렉토리 복구

git reflog (또는 git log -g) // 커밋목록 확인
git reset HEAD@{number} (또는 git reset [commit id]) // 원하는 시점으로 복구

3️⃣ 되돌려진 상태에서 다시 commit

git commit -m "메시지 작성" (또는 git commit 후 vim으로 작성)

4️⃣ 원격저장소로 경고무시, 강제 push

git push origin [branch name] -f (또는 git push origin +[branch name])

git pull 취소

☝🏻 들어가기 앞서,

pull하는 과정에서 충돌이 났다면,
하나씩 잘 처리를 해주는 것이 가장 최선이에요.. 🤮

✔️ 현재 stage와 워킹트리 변화를 모두 제거하고 HEAD를 변경

git reset --hard ORIG_HEAD

git merge 취소

git reset --merge ORIG_HEAD

이렇게, git 취소 명령어에 대해 알아보았어요!
취소 하면서, 특히 경고⚠️를 무시하고 취소하는 경우에는
이전 데이터가 삭제🗑되는게 대부분이기 때문에,
되도록이면... 하나씩 하나씩

디버깅하는 마음으로

처리해주는게 좋아요😰

이해가 안되는 부분이나, 틀린 부분이 있으면 코멘트를 남겨주세요!
피드백은 정말정말 환영입니다🎉🎉

Reference

Rain Han님의 블로그
HeeJeong Kwon님의 블로그

728x90
반응형