ProgramingTip

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

bestdevel 2020. 9. 29. 08:14
반응형

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


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

더티 마스터 없이 새 브랜치를 생성하고 모든 변경 사항을 수행해야합니까?


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

git resetman 페이지 에서 언급했듯이 :

$ 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)
  1. 일부 커밋을 수행했지만 " master"브랜치 에 포함 되기에는 시기상조 였습니다. 주제 브랜치에서 계속 다듬고 싶고 topic/wip현재 브랜치에서 " "브랜치를 만듭니다 HEAD.
  2. 되감기 master지점은 그 세 커밋을 제거합니다.
  3. " 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


다음과 같이하세요 :

  1. 새 분기를 만듭니다.

    git branch newfeature
    
  2. Checkout new branch : (이것은 작업을 완벽하지 않습니다.)

    git checkout newfeature
    
  3. 이제 새 브랜치에서 작업을 수행하십시오.

    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

반응형