250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- viewmodel
- 앱바
- textfield
- intent
- textview
- TEST
- 앱
- 계측
- 안드로이드
- Navigation
- CustomScrollView
- Dialog
- Compose
- ScrollView
- data
- DART
- android
- 테스트
- binding
- Button
- scroll
- activity
- drift
- appbar
- Coroutines
- tabbar
- Flutter
- Kotlin
- LifeCycle
- livedata
Archives
- Today
- Total
Study Record
[Git&GitHub] Head? 본문
728x90
Git 의 HEAD 는 현재 브랜치에 가장 최신 커밋을 의미한다!
git checkout 으로 앞뒤 이동하기 - HEAD의 위치도 같이 바뀐다.
# ^/~ 의 개수만큼 뒤로가기
git checkout HEAD^ # 한 단계 뒤로
git checkout HEAD~~ # 두 단계 뒤로
# - : 한 단계 앞으로 가기
git checkout -
git checkout 명령어로 현재 브랜치의 이전 커밋 단계로 돌아가거나 앞 단계로 갈 수 있고 이것이 곳 HEAD의 위치를 바꾸는 것이라면 HEAD의 정의가 현재 브랜치의 가장 최신 커밋이라는 의미와는 맞지 않는 것이 아닌가하는 의문이 들 수 있다.
위의 그림은 delta-branch 에서 2단계 이전 커밋으로 돌아간 모습이다. 이 때, HEAD의 위치도 2단계 뒤로 돌아갔고 git status 명령어로 현재 모든 브랜치의 모습을 보면 새로운 (HEAD detached at a91b902)라는 브랜치가 새로 생긴 모습을 볼 수 있다!
이렇게 checkout 으로 현재 브랜치 상에서 위치를 옮기면 HEAD 라는 또다른 브랜치가 생기면서 현재 브랜치의 가장 최신 커밋이라는 HEAD의 정의와도 들어맞는다.
이런 HEAD의 정의를 이용해서 reset을 할 수 있다.
# 현재 HEAD에서 2단계 전으로 reset!
git reset --hard HEAD~2
728x90
'Git' 카테고리의 다른 글
[Git&GitHub] git config 설정 (0) | 2022.03.02 |
---|---|
[Git&GitHub] fetch vs pull (0) | 2022.03.01 |
[Git&GitHub] git의 3가지 공간과 git rm/mv/restore/reset (0) | 2022.03.01 |
[GitHub&Git] 원격 브랜치 다루기 (0) | 2022.03.01 |
[GitHub&Git] push와 pull 과 충돌 해결과 강제 push (0) | 2022.02.22 |