forDevLife
[git] github push 되돌리기 본문
gitignore이 제대로 적용되지 않아 원하지 않은 파일이 올라가서, 푸쉬 이전으로 돌아갈 방법을 찾아봤다.
로컬에서 커밋 되돌린 후 강제 푸시하는 방법
로컬 저장소에서 일단 커밋을 되돌린 후, 이를 원격 저장소에 강제로 반영시키는 방법이다.
방법
1. 먼저 로컬에서 $ git reset 명령어를 이용해 내가 되돌리고 싶은 커밋들을 되돌린다.
>> $ git reset --soft [hashcode]
- hard : 돌아가려는 이력 이후의 모든 내용 삭제
- soft : 돌아가려 했던 이력으로 되돌아 갔지만, 이후의 내용이 지워지지 않고, 해당 내용의 인덱스(또는 스테이지)도 그대로 있습니다.
바로 다시 커밋할 수 있는 상태로 남아있는 것입니다.
git log를 통해 돌아가길 원하는 커밋의 코드를 찾아 위의 명령을 실행한다. 실행하면, 원하는 커밋 시점에서 push 하기 이전 상태이다.
2. git status를 통해 원하는 대로 modify & remove & add 되었는지 확인 후 git commit -m "메세지"를 통해 커밋을 실행한다.
3. git push -f origin master를 통해 강제 push 진행한다. 현재 단계에서는 로컬이 원격 저장소보다 버전이 낮다는 오류가 발생한다.
따라서 -f 옵션을 통해 강제 진행한다.
'Etc' 카테고리의 다른 글
[Git] 다른 repository로 프로젝트(브랜치) 옮기기 (0) | 2021.11.28 |
---|---|
resource 내의 파일 업로드 방법(file -> MultipartFile) (0) | 2021.09.29 |
[git] git add 취소하기, git commit 취소하기, git push 취소하기 (0) | 2021.08.10 |
[기초]빌드 도구 설명, 메이븐 프로젝트 생성, 의존성 관리 (0) | 2021.06.25 |
[IntelliJ]유용한 단축 모음 (0) | 2021.05.27 |
Comments