2010-11-20 4 views
3

저는 주로 마스터 브랜치에서 작업하고 프로덕션으로 푸시합니다. 실수로 Production에서 작업하여 앱을 분기하고 배포했습니다. 이제 내 프로덕션에는 최신 버전이, 마스터에는 이전 버전이 있습니다.Git 제작과 마스터가 동일하지 않습니다.

마스터 분기 파일을 프로덕션과 동일하게 업데이트하려면 어떻게해야합니까? 어떤 명령을 내릴 수 있습니까?

앞으로는 master 브랜치에서만주의 깊게 작업 할 것입니다. 감사.

답변

3

현재 지점 master을 확인하고 차이를 merge vs rebase를 참조

자식 생산을 리베이스 생산을

또는

자식을 병합 실행합니다.

+0

두 번째 예는 정확하지 않습니다. Rebase는 병합에서 "반대 방향"으로 작동합니다. 프로덕션 브랜치로 전환하고'git rebase master'를 실행하고 싶을 것입니다. 어쨌든 rebase는 두 지점 모두에서 동일한 커밋을 원하기 때문에이 경우에는 권장되지 않습니다 (그리고 이미 생산 부서를 원격으로 밀어 넣었을 가능성이 큽니다). 여기서 병합이 더 적합합니다. –

+0

프로덕션 지점에서'git rebase master'를 실행하면 "현재 분기 생산이 최신 상태입니다." 내가 'git rebase production'을 주인에게 돌릴 때, 그것은 앞으로 나아 간다. "먼저, 머리 위로 되감기 헤드를 사용하여 작업을 다시 재생하십시오 ... 생산에 대한 빠른 전달 마스터." –

+0

저는 첫 번째 예제를 사용했습니다. 이제는 똑같습니다. 하지만 'git status'를 실행하면 'Your branch is origin'/ master '보다 5 커밋 앞입니다.'라고 말합니다. 이 문제를 어떻게 해결할 수 있습니까? – Victor

1

원격지로 가져 오지 않았거나 원격지를 덮어 쓸 수있는 경우 프로덕션에서 마스터로 새로운 커밋을 선택하고 (대화식 리베이스를 통해) 커밋을 삭제 한 다음 일반 리베이스를 수행합니다. master에서 생산 브랜치를 업데이트하기위한 -merge주기.

각 문단에 정확한 문법을 ​​확인하고 신중해야합니다. 매우 강력하기 때문에 나사를 고칠 수는 있지만 나사를 너무 세게 조이면됩니다.

관련 문제