-
[git] 원격저장소(Remote Repository)에 이미 push한 commit 삭제하기git 2022. 12. 22. 09:19반응형728x90
원격저장소(Remote Repository)에 이미 push한 commit 삭제하는 방법
cf) 참고 및 출처: https://gahyun-web-diary.tistory.com/188
1. git reset "커밋ID"
- 이때 커밋ID는 남기고 싶은 마지막 커밋에 대한 ID이다.
git reset "커밋ID"
2. git commit -m "커밋message"
git commit -m "커밋message"
3. git push origin main(또는 브랜치명) -f
- 강제 푸시
- ex) git push origin develop -f
git push origin main(또는 브랜치명) -f
을 하게 되면 원하는 커밋으로 돌아가진다.
이후에 작업하고 push하게 되면 그 사이 커밋들은 날라간다.
cf) reset에 대한 옵션
1. git reset --mixed 커밋ID
- 옵션을 설정하지 않았을때 기본값
- 커밋 되돌렸고, 변경된 내용이 남아있어서 다시 추가할수 있다.
- 즉, 위에서 한 방식과 동일한 결과
git reset --mixed "커밋ID"
2. git reset --hard "커밋ID"
- 모든 내용을 지우고 되돌아간다(초기화).
git reset --hard 커밋ID
3. git reset --soft "커밋ID"
- 커밋은 되돌렸지만 코드의 내용은 변경되지 않는다.
- 이 방식은 안 써봐서 변경 코드가 stage나 unstage에 안 올라가고 그대로 있다는 것인지는 모르겠다,,
git reset --soft "커밋ID"
728x90'git' 카테고리의 다른 글
[git] cherry-pick와 merge 및 rebase를 활용한 commit 내역 관리 (0) 2024.05.26 [gitlab, git] git mirror하기 (다른 repo 소스코드 gitlab에 옮기기) (0) 2023.06.12 [git] branch 확인 및 가져오기, 생성 후 Remote Repository에 push하기 (0) 2023.01.15