DevOps , SRE

Git 상황별로 작업 원복 하기

뭉기 2019. 3. 25. 02:11


  • clone 받은 상태로 원복 할려면 해당 경로로 이동 후

git checkout . && git clean -fdx


  • git add 이전

git checkout DIR_PATH    #특정 폴더 아래의 모든 수정 사항 원복

git checkout .      # 현재 폴더 아래 모든 수정 사항 원복

git checkout FILE_PATH     #특정 파일 원복


  • git add 한 경우

git reset


  • git commit 까지 한경우 : 
    • commit 내용을 없애고 이전 상태로 원복

master 브랜치의 마지막 커밋을 가리키던 HEAD를 그 이전으로 이동시켜서 commit 내용을 없앰

git reset --hard HEAD^

    • commit은 취소하고 commit 했던 내용은 남기고 unstaged 상태로 만들기

git reset HEAD^

    • commit은 취소하고 commit 했던 내용은 남기고 staged 상태로 만들기

git reset --soft HEAD^


  • 불필요한 파일 및 디렉토리 지우기 (untracked)

git clean -fdx


  • git push를 한 경우 remote repository도 이전으로 되돌리기

git reset HEAD^

git commit -m "..." 

git push origin +master