아직 커밋하지 않은 경우 (1 : 분기) 및 (3 : 체크 아웃)만으로 충분합니다.
또는 하나의 명령으로 :git checkout -b newBranch
git reset
매뉴얼 페이지 에서 언급했듯이 :
$ git branch topic/wip # (1)
$ git reset --hard HEAD~3 # (2) NOTE: use $git reset --soft HEAD~3 (explanation below)
$ git checkout topic/wip # (3)
- 커밋을했지만 "
master
"브랜치 에있는 것은 너무 이른 것입니다 . 토픽 브랜치에서 계속 연마하고 싶기 때문에 " topic/wip
"브랜치에서 현재 브랜치를 생성 하십시오 HEAD
.
master
세 가지 커밋을 제거하기 위해 분기를 되감습니다 .
- "
topic/wip
"분기로 전환 하고 계속 작동하십시오.
참고 : git reset --hard
명령 의 "파괴적"효과로 인해 (인덱스 및 작업 트리가 재설정됩니다. 작업 트리에서 추적 된 파일의 변경 사항 <commit>
은 삭제됩니다) 오히려 다음과 같이 진행합니다.
$ git reset --soft HEAD~3 # (2)
이렇게하면 개인 파일 (인덱스에 추가되지 않음)이 손실되지 않습니다.
이 --soft
옵션은 인덱스 파일이나 작업 트리에 전혀 영향을 미치지 않습니다 (그러나 <commit>
모든 모드와 마찬가지로 헤드를으로 재설정 ).
함께 힘내 2.23+ 의 새로운 명령을git switch
(같은 종류의 하나 개의 라인에서 분기를 만들 것 reset --hard
때문에 그 효과 조심) :
git switch -f -c topic/wip HEAD~3