GIT4 - Reset & Revert

2022. 2. 14. 23:03·Git

Reset vs Revert

reset: 변화된 내용과 그 기록을 삭제

revert: 변화된 내용을 삭제하지만, 변화된 기록과 지운 기록 모두를 보존

 

Head

  • working directory가 어떤 버전을 기반으로 해서 수정 되었는지를 보여줌
  • 헤드를 옮긴다 ex) 버전 c에서 버전b로 헤드를 옮길 경우
    • working directory를 b의 상태로 바꿈

checkout: 헤드를 직접적으로 바꾸는 명령어

 

Reset

reset: 헤드가 브랜치를 가리키고 있을 때 그 브랜치가 가리키는 버전을 바꾸는 명령어 > 브랜치를 바꾸는 효과가 남

  • head -> master -> C의 경우 git reset B 하면 head -> master -> B : working copy는 B가 됨
  • git reset master 하면 master가 가리키는 버전을 가리키라는 뜻 (변화 없음)
  • head -> master -> C의 경우 git checkout B 하면 head -> B master -> C : working directory는 B가 됨
  • git checkout master 하면 head가 master를 가리키라는 뜻으로, head -> master -> C 가 됨
  • head가 브랜치를 가리키지 않고 버전을 직접적으로 가리키는 경우, 헤드가 브랜치로부터 detached라고 표현

 

git reflog : 내렸던 모든 명령과 그에 따른 원인에 해당되는 버전들이 나열됨

 

git reset의 종류

  • git reset --hard
  • git reset --soft
  • git reset (mixed): mixed는 생략 가능

Revert

Reset과 Revert의 비교

  • git reset --hard commit_2
  • git revert commit_3

Revert에서 conflict가 발생할 경우

a -> b -> c -> d 에서 b를 revert하고 싶을 경우, revert b 하면

b를 base로 한 3 way merge과정이 일어남

 

merge한 후

git revert --continue: commit 메시지 작성 화면으로 넘어감

git revert --abort: revert한 내용(변경사항)을 취소

저작자표시 비영리 변경금지 (새창열림)

'Git' 카테고리의 다른 글

깃헙에 SSH key 등록해서 사용할 때 주의할점 (ssh-agent)  (1) 2023.01.18
GIT3 - CLI branch & conflict  (0) 2022.02.07
GIT3 - CLI Backup  (0) 2022.01.31
CLI (Command Line Interface)  (0) 2022.01.31
Git2 - CLI 버전관리  (0) 2022.01.30
'Git' 카테고리의 다른 글
  • 깃헙에 SSH key 등록해서 사용할 때 주의할점 (ssh-agent)
  • GIT3 - CLI branch & conflict
  • GIT3 - CLI Backup
  • CLI (Command Line Interface)
summercat
summercat
세젤귀 또킨이 집사 블로그
  • summercat
    여름고양이
    summercat
  • 전체
    오늘
    어제
    • 분류 전체보기 (28)
      • Swift-iOS (4)
        • iOS (1)
        • Swift (2)
      • 네트워크 (1)
      • data structure (4)
      • Git (6)
      • Java (13)
        • project lion JSB the origin (10)
        • ByteDegree (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    URLQueryItem
    IOS
    딥링크
    어플
    커리어스타터캠프
    메모리 구조
    ssh-configure
    값 타입
    HTTP message
    JSON
    Cow
    ssh-agent
    야곰아카데미
    multipart/form-data
    OSI
    유니버셜링크
    참조 타입
    Github
    URLComponents
    TCP
    앱개발
    HTTP Methods
    ssh-add
    SWIFT
    deeplink
    copy on write
    부트캠프
    네트워크
    Endpoint
    universal link
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
summercat
GIT4 - Reset & Revert
상단으로

티스토리툴바