Search
castle

image

1. Git Checkout

>git checkout <commit-hash>
특정 commit hash로 checkout
즉, 특정 commit hash로 건너뜁니다. (시간을 이동합니다.)

>git checkout HEAD~1
HEAD에서 1개 이전의 commit을 참조합니다.


  • 아래와 같은 문장이 나올 수 있습니다!
    -> HEAD가 분리되었습니다. 하하

image

HEAD가 branch를 통해 commit에 붙어 있어야 하는데, branch없이 commit에 붙어 있어서 발생하는 문제입니다.

아래와 같이 새로운 branch를 만들어서 이동하면 문제는 해결됩니다.

>git switch -c <branch-name>

2. 변경 사항 초기화하기

>git checkout HEAD <file-name> or >git checkout -- <file-name>
file의 수정한 내용을 전부 삭제합니다. (처음으로 되돌리기/마지막 commit의 내용으로 재설정)

[신 명령어]
>git restore <file-name> or >git **restore** --source <file-name>

3. Unstaging하기

>git restore --staged <file-name>
stage에 올라간 변경사항들을 취소할 때 사용합니다.

4. Commit 취소하기/복구하기

>git reset <commit-hash>
commit-hash 이후의 commit을 제거하며, 현재 파일의 데이터는 유지 -> working directory의 변경 사항은 유지

>git reset --hard <commit>
commit-hash 이후의 commit을 제거하며, 현재 파일의 데이터도 삭제 -> working directory의 변경 사항도 삭제
=> branch 기준으로 움직임으로, 다른 branch에는 영향이 없습니다.

>git revert <commit-hash>
새로운 commit을 만들고 이전 commit의 변경 사항을 취소합니다. (모든 commit은 남아 있음)
-> 새로운 commit에 복구할 commit의 정보를 담습니다.

left
right

C

Contents