본문 바로가기
개발도구

Git ] 이전 커밋에서 branch 생성하기

by eteo 2024. 1. 16.

 

 

 

1. 이전 커밋 로그를 확인

git log --oneline

 

 

 

2. 현재 브랜치 확인

git branch

 

 

 

3. 특정 커밋으로부터 새로운 브랜치 생성

git branch <새로운 브랜치명> <커밋해쉬값 앞자리>
ex) git branch feature 9a124ef

 

 

 

4. 새로운 브랜치로 전환

git checkout <새로운 브랜치명>
ex. git checkout feature

 

 

git checkout <브랜치명> 명령어를 사용해 브랜치를 전환하면 해당 브랜치의 헤드로 이동하면서 작업 디렉토리의 파일들도 해당 브랜치의 최신 커밋 상태로 업데이트 된다.

 

위 경우에는 이전 커밋으로부터 새로운 브랜치를 생성했기 때문에 새로운 브랜치의 HEAD는 이전 커밋을 가리키게 되므로 작업 디렉토리가 해당 커밋의 상태로 변경된다.

 

 

 

 

혹은 아래 방법으로 위 두 단계를 한번에 할 수 있다.

 

# 새로운 브랜치 생성 및 이동
git switch -c <새로운 브랜치명> <커밋해쉬값 앞자리>

 

 

 

 

5. 새로운 브랜치에서 변경사항을 추가하고 커밋

 

git add .
git commit -m "Your commit message"

 

 

 

 

6. 새로운 브랜치를 원격에 푸시하면서 원격에 해당 브랜치 생성

 

git push --set-upstream <원격저장소명> <로컬 브랜치명>
또는
git push -u <원격저장소명> <로컬 브랜치명>
ex) git push --set-upstream origin feature

 

 

--set-upstream 플래그를 사용해 push하면 로컬 브랜치를 origin 원격 저장소의 <로컬 브랜치명> 브랜치와 연결한다. 한번 이렇게 하고나면 이후에는 git push 명령어만 사용하여 푸시할 수 있다.

 

예시와 같이 사용했을 땐 원격 저장소에 origin/feature 브랜치가 생성되면서 로컬 feature 브랜치의 변경사항이 원격으로 푸시된다.