2016-06-30 2 views
1

필자는 원격 마스터와 로컬 마스터를 가지고 있습니다. 그런 다음 로컬 브랜치를 로컬 마스터에 병합하고 테스트 및 배포를 위해 로컬 마스터를 원격지로 푸시합니다 (테스트 및 테스트를 위해 원격으로 푸시해야 함).푸시 후 이전 커밋을 분리 하시겠습니까?

저는 A와 B의 두 가지 기능을 가지고 있습니다. A를 리모컨으로 밀어 넣었으며 아직 테스트 중입니다. 나는 B에 작업을 시작, 나는 두 가지 질문이 A.

관계없이 승인 상태의 B를 배포 할 수 있도록하려면 :

  1. 하는가를 내 로컬 마스터 기능 A가 방지 포함 사실이 내가 기능 B 만 배포했기 때문에 이미 병합했기 때문에 또는 이전 커밋에서 새 분기를 통해 효과적으로 A를 실행 취소하고 B (전용)를 푸시 할 수 있습니까?

  2. 위의 내용이 사실이라면 B를 완료하기 전에 A가 승인되면 A를 B에 병합 할 수 있습니까? (여전히 지형지 물 A 지점이 있습니다.)

고맙습니다.

답변

0
  1. 예, 아니오 * - git checkout -b branch_B origin/master 당신이
  2. 예를 새로운 지점에 작업을 시작하도록해야 - git merge origin/master (가정 원산지/마스터가 승인 된 'A'지점을 포함하고 현재 지점은 B이다)

* 여기서는 (a) 로컬 마스터 브랜치를 새로운 'B'브랜치로 이동하거나 (b) 로컬 환경에서 원격으로 푸시 할 필요가 없다고 가정합니다. 예를 들어 :

*---* - origin/master 
    |\ 
    | * - A, master, origin/A 
    \ 
     * - B 
+0

위 # 1의 경우, 내가 올바른 이전 커밋을 참조해야합니다 : git push origin B 대신 git push origin master

참고로, 여기에 새로운 B 분기와 자식 저장소는? (이렇게하지 않으면 지점에 기능 A가 설치됩니다.) –

+0

정확합니다. 체크 아웃의 경우 'origin/master'라고했는데, 여전히 루트 커밋이라고 가정했기 때문입니다. 만약 해쉬 값으로 그것을 원한다면 : 'git checkout -b new_branch_b ' 또는'git checkout '(루트 커밋)'git checkout -b new_branch_b' –

관련 문제