git/gitCommand

git checkout

oniri1 2024. 10. 11. 12:05

주로 브랜치 전환특정 커밋, 파일 또는 태그로 이동할 때 사용되며, 파일의 변경 사항을 되돌리는 데도 사용할 수 있는 명령어

브랜치 전환

git checkout <브랜치명>

브랜치가 없으면 작동하지 않는다.

새로운 브랜치 생성 + 전환

git checkout -b <새로운 브랜치명>

깃 로그 확인하기

브랜치를 다룰 때 해시값이나 브랜치의 커밋 메시지 등을 확인하는 명령어가 있다.

git log

해쉬, 커밋 메시지만 간단히 보기

git log --oneline

특정 커밋으로 체크아웃

브랜치가 아닌 특정 커밋으로 디렉토리를 변경할 수 있다.
커밋 해시를 사용해 특정 시점의 상태로 이동한 경우 "detached HEAD" 상태가 된다.
즉, 현재 커밋의 상태는 그대로 유지되지만 최신 상태는 아니게 된다. (이전 버전에서 작업하게 됨)

git checkout 커밋해시
다만 해쉬값을 찾는건 귀찮으니 HEAD^ (뒤로가길 원하는 만큼 ^), 또는 HEAD~1 (뒤로가길 원하는 만큼의 숫자)로 대체할 수 있다.

파일 변경 사항 취소

현재 작업이 맘에들지 않는다면, 최신 커밋으로 명령어를 사용해 되돌릴 수 있다.

git checkout -- 파일명

만약 index.html 파일을 파일명에 넣으면, index.html의 모든 변경 사항이 마지막 커밋된 상태로 돌아가지만, git add를 하지 않았을 때만 적용된다.

git switch와 git restore

혼란을 줄이기 위해 체크아웃의 작업을 분리한 새로운 명령어가 생겼다.

  • git switch: 브랜치를 전환할 때 사용, -c는 checkout의 -b와 같은 역할을 한다.
    git switch 브랜치명
    git switch -c 브랜치명
  • git restore: 파일의 변경 사항을 복원할 때 사용
    git restore 파일명