서버에 push한 commit 삭제하기
#서버에 push한 commit 삭제하기
- git reset (레포지토리를 혼자 사용할 때)
1. git commit 내역을 확인하고, 삭제할 commit 확인하기
git log
2. reset
명령어를 이용하여 commit 삭제하기
■ 가장 최근 명령어를 지우고 싶다면
git reset HEAD^
■ 여러개의 commit 이전으로 돌리는 경우
git reset HEAD~2
※ 돌아간 커밋 이후의 변경 이력을 모두 삭제하고 싶다면 --hard
옵션 사용하기
git reset --hard [commit hash]
3. commit을 지웠다는 것을 서버에 알려주기
git push -f origin [branch]
※ 해당 레포지토리를 다른 사람과 공유하고 있다면 절대로 사용하면 안됨!
- git revert
revert 명령어는 reset과는 다르게 커밋을 삭제하는 것을 추가하는 방식으로 코드를 되돌림
1. 돌아가고자 하는 commit ID를 적기
git revert [commit hash]
1-1. --no-commit
옵션을 사용해서 바로 커밋되지 않게 하기
git revert --no-commit [commit hash]
1-2. 변경 내용 commit message 작성
`git commit -m [message]’
1-3. 변경 내용 서버에 올리기
git push origin [branch]
reset
장점 :
- 커밋 히스토리를 깔끔하게 유지할 수 있음
- 혼자 작업할 때 편하게 되돌아갈 수 있음
단점:
- 다른 사람과 같은 브랜치에서 작업할 때 커밋이 뒤섞일 수 있음
revert
장점:
- 중간에 무슨 문제가 있었는지, 왜 돌아갔는지 등의 기록이 가능함
- 다른 사람과 같은 브랜치에서 함께 작업할 때 코드 충돌을 최소화할 수 있음
단점:
- 커밋 히스토리에 변경 내역이 커밋에 남음
참고사이트:
This post is licensed under CC BY 4.0 by the author.