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 브랜치의 변경사항이 원격으로 푸시된다.
'개발도구' 카테고리의 다른 글
TortoiseGit ] 두 커밋 간 비교 (0) | 2024.01.26 |
---|---|
Git ] 이전 커밋의 코드 상태 확인하기 (0) | 2024.01.18 |
StarUML ] 텍스트 줄바꿈(new line) 하는 법 (0) | 2024.01.07 |
Visual Studio ] C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. (0) | 2023.11.25 |
공유기 간의 IP 충돌문제 해결 (0) | 2023.11.15 |