2016-06-06 3 views
0

이미 커밋했지만 밀어 넣지 않았을 때 새 분기를 만들 수 있는지 알고 싶습니다.힘내 : 밀어 넣기 전에 커밋 후 새 분기 만들기

시나리오 :

  1. 스위치는
  2. 기본적으로

나는 이것이 가능하지 않은 것을 들었다 새로운 지점 대신 푸시 만들기

  • 변경을 커밋
  • 변경 뭔가를 마스터하기 새 분기를 만들기 전에 밀어 넣어야합니다. 나는 10 일 이상의 커밋과 같은 2 일의 작업을 수행 했으므로 이러한 변경 사항을 마스터로 푸시하는 대신 새로운 분기를 만들 것이라고 결론을 내 렸습니다. (변경 사항이 예상보다 크게 늘어났기 때문에 사전에 테스트를 추가하고 싶습니다.) .

    모든 mal 파일을 저장하고, 시작한 마스터 버전을 다시 확인하고, 새 분기를 만들고, 변경 사항을 복원하고 원래대로 생각했던 새 분기를 만들 수 있습니까 (그렇게하지 않았습니까? 먼저 치료)?

  • 답변

    1

    기본적으로 나는 이것이 가능하지 않으며 새 분기를 만들기 전에 밀어 넣어야한다고 들었습니다.

    절대적으로 그렇지 않습니다. 원하는 경우 언제든지 새 분기를 만들 수 있습니다.

    git checkout -b newbranch 
    

    을 그리고 현재 커밋에 따라 newbranch라는 이름의 새로운 지점을 만들 것입니다 : 변경 사항을 저지른 후 예를 들어, 실행할 수 있습니다.

    # create a new branch, but don't switch to it 
    git branch newbranch 
    
    # Reset current (master) branch by discarding the most recent 
    # commit. 
    git reset --hard HEAD^ 
    
    # Switch to new branch 
    git checkout newbranch 
    

    을 그리고 지금 당신이 밀어 수 있습니다 : 당신은이 작업의 일부 (즉, 당신이하지 마스터 분기에만 새 분기에 변경, 원하는이다) 당신이 할 수있는 것처럼 master 분기를 되돌리려면 새 브랜치를 원격 서버에 저장하십시오.

    0

    git branch new_branchname 만 가능합니다. 기본 시작 위치는 HEAD입니다. 원하는 경우 두 번째 매개 변수로 추가하여 git branch에 변경할 수 있습니다.

    당신이 지금하고있는 것은 새로운 커밋이 여전히 master에 있다는 것입니다. 이것이 저의 마지막 의도는 아닙니다. revert 또는 reset (이것이 아직 푸시되지 않았으므로)이 필요합니다.

    0

    최신 커밋으로 지점을 만듭니다

    git reset --hard origin/master 
    

    체크 아웃 newbranch :

    git checkout newbranch 
    

    See more

    git branch newbranch 
    

    서버 상태로 maste R 분기를 재설정

    0
    $ git checkout dde0f681c20791aee8dcc0f31b41850f83c5b778 (id commit) 
    
    
    $ git checkout -b before_bo 
    
    $ git push --set-upstream origin before_bo 
    
    $ git checkout master 
    
    관련 문제