1. Git Checkout
>git checkout <commit-hash>
특정 commit hash로 checkout
즉, 특정 commit hash로 건너뜁니다. (시간을 이동합니다.)
>git checkout HEAD~1
HEAD에서 1개 이전의 commit을 참조합니다.
* 아래와 같은 문장이 나올 수 있습니다!
-> HEAD가 분리되었습니다. 하하
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의 정보를 담습니다.
'Study > GIT' 카테고리의 다른 글
[Git] 7. Git Stash (0) | 2023.12.04 |
---|---|
[Git] 6. Git Diff로 비교하기 (0) | 2023.12.03 |
[Git] 5. Git Merges (branch 병합하기) (0) | 2023.11.29 |
[Git] 4. Git Branch (0) | 2023.11.27 |
[Git] 깃크라켄(GitKraken) GUI 환경에서 Git 사용하기 (0) | 2023.11.27 |
Tag