[Git] git game - HEAD, branch -f, reset, revert
2024. 7. 8. 11:54ㆍGit
728x90
반응형
SMALL
HEAD
head 노드는 현재 checkout된 커밋을 가리킴
head 분리 : head를 브랜치 대신 커밋에 붙이는 것을 의미
커밋 구분 방법 : 해시값(처음 4자리로도 가능), 상대 참조(브랜치명, head)
상대 커밋 방법
^ : 한번에 한 커밋 위로 움직임
~<num> : 한번에 여러 커밋 위로 움직임

git checkout main^
git branch -f [branch name] [object commit]
-f 옵션 : 특정 브랜치를 강제로 임의의 커밋으로 움직임 (브랜치 강제)

git branch -f main HEAD~3
git reset [object commit]
브랜치가 예전의 커밋을 가리키도록 이동시키는 방식으로 변경 내용을 되돌림
로컬에는 reset하기 전에 가리키던 커밋은 없었던 것과 마찬가지인 상태
git revert [object commit]
remote branch의 변경 내용을 되돌리고, 이를 다른 사람과 공유(push 가능)
-reset은 push 불가능

git revert HEAD
c2' 커밋을 새로 생성하고, c2 이전의 내용을 저장(c1)
즉, 커밋을 없애는 것이 아닌 변경 내용을 되돌린다는 커밋을 추가하는 것
git game 정답


git checkout C4


git checkout HEAD^


git branch -f main c6
git branch -f bugFix c0
git checkout HEAD^


git reset HEAD^
git checkout pushed
git revert HEAD728x90
반응형
LIST
'Git' 카테고리의 다른 글
| [Git] git game - clone, fetch, pull (0) | 2024.07.09 |
|---|---|
| [Git] git game - 2 argument rebase, ^ with number (0) | 2024.07.09 |
| [Git] git game - commit 순서 변경/내용 수정, tag, describe (0) | 2024.07.09 |
| [Git] git game - cherry-pick, interactive rebase (0) | 2024.07.08 |
| [Git] git game - commit, branch, checkout, merge, rebase (0) | 2024.07.08 |