git checkout HEAD^
git checkout HEAD^^^
, git checkout HEAD~5
git checkout "커밋 해시"
git checkout -
이전으로 되돌린 커밋 상태를 다시 앞으로 되돌립니다.
어떤 브랜치의 최상단으로 다시 돌아가기 위해서
git switch "브랜치 이름"
을 사용해 줄 수 있습니다.
git checkout HEAD^
명령으로 돌아갈 수 있습니다.
이렇게 돌아간 이후 해당 commit에서 새로운 브랜치를 commit해서 새로운 branch를 만들 수 있습니다.
git checkout HEAD^
이전 commit으로 되돌아 갑니다.
새로운 브랜치에 적용할 코드 변경사항을 수정합니다.
git add .
변경사항을 staging area에 넣어줍니다.
git commit -m "메시지 내용"
변경사항을 commit하여 repository에 넣어줍니다.
내가 원하는 commit상태에서 새로운 branch를 생성하였습니다.
git reset --hard HEAD(원하는 단계)
해시를 찾아서 reset하는 방법이 아닌,
HEAD를 이용해서 이전 commit 상태를 찾고,
해당 상태로 reset하는 방법입니다.
원격 저장소의 최신 커밋을 로컬 저장소로 가져옵니다.
원격 저장소의 최신 커밋을 로컬 저장소로 가져와
merge 또는 rebase합니다.
pull은 fetch를 포함하는 명령어입니다.
원격 저장소에 새로운 commit이 생성 되었다고 가정하겠습니다.
이때, git checkout origin/main으로 적용 전 내용을 살펴봅니다.
git checkout origin/main
다른 커밋 해시로 상태가 변화하는 것을 알 수 있습니다.
하지만 fetch를 해서 최신 커밋을 로컬 저장소로 가져오지는 않았습니다.
따라서 코드의 변화는 없습니다.
git checkout main
으로 다시 main 브랜치로 돌아와 줍니다.
git fetch
git fetch
를 통해 원격 저장소의 commit 변경사항을 로컬 저장소에 가져와줍니다.
git checkout origin/main
최신 커밋 내용을 받아오고, 코드도 변경되었습니다.
새로운 commit으로 변경사항을 미리 적용해보고, merge 혹은 pull을 적용할 수 있습니다.
git switch main
merge또는 pull을 하기 전에 다시 main branch로 돌아가 줍니다.
git pull
git pull
로 commit 변경사항을 적용시켜 줍니다.
git fetch
git fetch를 통해 새로운 변경사항을 로컬 저장소에 받아옵니다.
git branch -a
원격 저장소에서 새로운 브랜치가 만들어 졌는지 확인합니다.
git checkout origin/"브랜치 이름"
다음 명령어로 새로운 브랜치에서의 코드 변경사항을 확인할 수 있습니다.
git switch main
메인 브랜치로 다시 변경해 주었습니다.
git switch -t origin/"브랜치 이름"
git switch
를 통해 브랜치를 변경해주고 -t
명령어를 통해서 commit을 서로 주고받을 수 있게 해줍니다.