티스토리 뷰
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 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 야곰아카데미
- 스택
- HTTP Methods
- 값 타입
- HTTP message
- URL
- 코딩
- URLComponents
- Endpoint
- 어플
- 참조 타입
- IOS
- ssh-add
- JSON
- SSH
- multipart/form-data
- Github
- Cow
- SWIFT
- URLQueryItem
- 앱개발
- 네트워크
- copy on write
- TCP
- OSI
- 부트캠프
- ssh-agent
- 메모리 구조
- ssh-configure
- 커리어스타터캠프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함