개발관련/Git

현재 변경 사항으로 Git 분기 만들기

Rateye 2021. 12. 14. 14:11
728x90
반응형
질문 : 현재 변경 사항으로 Git 분기 만들기

나는 내 작업이 쉬울 것이라고 생각하면서 마스터 브랜치에서 일하기 시작했습니다. 잠시 후 더 많은 작업이 필요하다는 것을 깨달았고이 모든 작업을 새 지점에서 수행하고 싶습니다.

새 브랜치를 생성하고 더티 마스터 없이이 모든 변경 사항을 적용하려면 어떻게해야합니까?

답변

아직 커밋하지 않았다면 (1 : 브랜치)와 (3 : 체크 아웃)만으로 충분합니다.
또는 하나의 명령으로 : git checkout -b newBranch

git reset man 페이지 에서 언급했듯이 :

$ 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)

git reset --hard 명령의 "파괴적"효과로 인해 <commit> 이후 작업 트리에서 추적 된 파일에 대한 모든 변경 사항은 삭제됨) 다음과 같이 진행합니다.

$ git reset --soft HEAD~3  # (2)

이렇게하면 인덱스에 추가되지 않은 개인 파일이 손실되지 않습니다.
--soft 옵션은 인덱스 파일이나 작업 트리를 전혀 건드리지 않습니다 (그러나 모든 모드와 마찬가지로 <commit>

Git 2.23+ 에서는 새로운 명령 git switch 는 한 줄에 브랜치를 생성합니다 (동일한 종류의 reset --hard 하므로 그 효과에주의하십시오).

git switch -f -c topic/wip HEAD~3
출처 : https://stackoverflow.com/questions/3899627/create-git-branch-with-current-changes
728x90
반응형