현재 변경 사항으로 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)
- 일부 커밋을 수행했지만 "
master
"브랜치 에 포함 되기에는 시기상조 였습니다. 주제 브랜치에서 계속 다듬고 싶고topic/wip
현재 브랜치에서 " "브랜치를 만듭니다HEAD
. - 되감기
master
지점은 그 세 커밋을 제거합니다. - "
topic/wip
"지점으로 전환 하고 계속 작업하십시오.
참고 : git reset --hard
명령 의 " 파괴 적인"효과로 인해 (인덱스와 작업 트리를 표시합니다. 작업 트리에서 추적 된 파일에 대한 모든 변경 사항 <commit>
은 삭제 되거나 ) 저는 다음과 같이하겠습니다.
$ git reset --soft HEAD~3 # (2)
이렇게하면 강화되지 않은 보안되지 않은 개인 파일이 없습니다.
이 모든 --soft
옵션은 강화 파일이나 작업 트리를 전혀 건드리지 헤드 (그러나 <commit>
모든 모드와 모든 것을 사용할 수 있습니다 ).
이 질문에 언급 된 것처럼 : Git : 마스터에서 태그가 지정되지 않은 사항 / 커밋되지 않은 사항에서 분기를 만듭니다 . stash가 필요하지 않습니다.
다음을 사용하십시오.
git checkout -b topic/newbranch
커밋되지 않은 작업은 새 지점으로 이동합니다.
푸시를 시도하면 다음 메시지가 표시됩니다.
치명적 : 현재 분기 기능 / NEWBRANCH에 업스트림 분기가 없습니다. 현재 분기를 푸시하고 원격을 업스트림으로 설정 비용
git push --set-upstream origin feature/feature/NEWBRANCH
원격으로 분기를 만들려면 제안 된대로 수행하십시오.
git push --set-upstream origin feature/feature/NEWBRANCH
다음과 같이하세요 :
새 분기를 만듭니다.
git branch newfeature
Checkout new branch : (이것은 작업을 완벽하지 않습니다.)
git checkout newfeature
이제 새 브랜치에서 작업을 수행하십시오.
git commit -s
위의 단계 필요를 사용하면 처음을 깨끗하게 유지하고 'git reset --hard'를 수행 할 수 없습니다.
아직 커밋을하지 않을 경우 모든 변경 사항을 표시에 저장하고 새 분기를 만들고 전환 한 다음 해당 변경 사항을 작업 트리에 다시 할 수 있습니다.
git stash # save local modifications to new stash
git checkout -b topic/newbranch
git stash pop # apply stash and remove it from the stash list
새 분기에 새 변경 사항을 추가하고 원격으로 푸시 선택 :
git branch branch/name
git checkout branch/name
git push origin branch/name
bitbucket에서 새 분기 / 커밋이 표시되지 않는 이유를 혼동합니다.
참고 URL : https://stackoverflow.com/questions/3899627/create-git-branch-with-current-changes
'ProgramingTip' 카테고리의 다른 글
Bash 펼쳐에서 현재 디렉토리 이름 (전체 경로 없음) 가져 오기 (0) | 2020.09.29 |
---|---|
if- 문에서의 && (논리 -and)에 해당 (0) | 2020.09.29 |
Maven에게 최신 버전의 사용 지시를 사용합니까? (0) | 2020.09.29 |
언제 git pull --rebase를 쓰고 있습니까? (0) | 2020.09.29 |
git log 또는 git diff를 종료하는 방법 (0) | 2020.09.29 |