git & github - 되돌리기(push, commit 취소하기)

2024. 8. 8. 20:14·git & github

- git checkout <파일명> : 아직 스테이징이나 커밋을 하지 않은 경우 파일의 변경내용을 취소하고 이전 커밋으로 되돌린다.

git checkout [-- 파일명]

 

- git diff : 작업 차이점 확인

git diff --cashed // 스테이징영역과 저장소의 차이점 확인
git diff HEAD     // 저장소, 스테이징영역, 작업트리의 차이점 확인
git diff --ours   // merge이전과 이후 결과 비교

 

git reset : commit한 코드 취소하기

HEAD~n : 마지막 n개의 커밋

git reset --soft <커밋>
→ 지정한 커밋 이후의 커밋을 취소하지만, 작업트리와 스테이징 영역은 유지

git reset --mixed <커밋>
→ 지정한 커밋 이후의 커밋들을 취소하고, 스테이징영역도 초기화, 작업트리는 유지

git reset --hard <커밋>
→ 지정한 커밋 이후의 모든 변경사항을 완전히 취소, 스테이징영역과 작업트리도 되돌아감

git reset --keep <커밋>
→ 작업 트리에 변경사항이 없는 경우에만 지정한 커밋으로 되돌림

ex) git reset --hard HEAD~3 // 마지막 세개의 커밋을 취소

※ git에서 add를 하지않은 파일은 작업트리에 add를 하면 스테이징영역에 있게 된다.

 

◇ git commit 취소하기

- git commit --amend : 마지막 커밋 메세지 수정

 

- git reset <기준> HEAD~1 : 마지막 커밋 되돌리기, <기준>은 위에 정의된 soft, mixed, hard에서 선택

 

◇ git push 취소하기

- push한 커밋 되돌리기

  1. 로컬에서 마지막 커밋을 되돌린다.
    git reset --hard HEAD~1
    (HEAD~n 특정 n번째 전 브랜치까지 되돌리기)


  2. 그런 다음 강제로 원격 저장소에 푸시한다.
    git push --force 또는
    git push -f
    ※ 강제 푸시는 다른 팀원이 작업한 내용을 덮어쓸 수 있으니 주의!

 

 

 

'git & github' 카테고리의 다른 글

git & github - Github Actions  (0) 2024.10.01
git & github - fetch, rebase, merge, pull, stash  (1) 2024.08.08
git & github - branch  (0) 2024.08.08
git & github - clone부터 다시 push까지  (1) 2024.08.06
git & github - init부터 push까지  (0) 2024.08.06
'git & github' 카테고리의 다른 글
  • git & github - Github Actions
  • git & github - fetch, rebase, merge, pull, stash
  • git & github - branch
  • git & github - clone부터 다시 push까지
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 이론공부
        • 개념
        • 정보처리기사 필기
        • 정보처리기사 실기 기출
        • 네트워크관리사 2급
        • SQLD
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트 N
        • coin-trading N
        • 트러블슈팅
      • Docker
      • 웹
      • git & github
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java 멤버
    자료구조
    java기초
    프로그래머스 java 기초트레이닝
    java 에라토스테네스의 체
    java two-pointer
    데이터 타입
    java super
    java 유클리드 호제법
    Java 생성자
    java 메서드
    java 세수의합
    프로그래머스 java 기초 트레이닝
    java enhance switch
    java arrays.copyofrnage()
    java 제어자
    데이터 크기
    Java this
    java
    개발로드맵
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
git & github - 되돌리기(push, commit 취소하기)
상단으로

티스토리툴바