2014-09-15 2 views
1

에 적용 할 수있는 패치를 만들고 여기에 내 나무입니다 :자식은 2 곳

----production-----------------development 

그래서 생산이 발산 한 지점이 아니라 오히려 이전 커밋 (또는 태그) jsut가. 이제 버그 픽스가 발견되어 제작 및 개발에 모두 적용되기를 바랍니다. 이는 프로덕션 스냅 샷과 개발 서버에서 최신 코드를 실행하는 프로덕션 서버를 실행 중이기 때문에 중요합니다.

변경 사항을 적용하고 커밋하면 개발에만 영향을 미칩니다. 내 프로덕션 서버는 버그 수정을받지 않습니다.

어떻게해야합니까?

+0

Btw, 이것은 분기 분기가 적합한 이유의 좋은 예입니다. Emil이 제안한 솔루션이 제대로 작동해야하지만 워크 플로를 다시 고려해야합니다. –

+0

@Zeeker 생산을 위해 분기 된 지사를 사용했다면 이제 어떻게해야 좋을까요? – Boyang

+0

knittl의 대답을 살펴보고 핫픽스 분기를 만들고이를 master와 dev에 병합하면 상황을 해결할 수있는 확실한 방법이 될 것입니다. –

답변

0

당신은 단순히 당신의 생산 지점에서 패치를 적용하고 개발에 병합 할 수 있습니다

git checkout production 
# fix your bugs 
git commit -m 'fixed bug' 
git checkout development 
git merge production 

는 DAG는 다음과 같이됩니다 결과 귀하의 :

---o--------------------o---------development (with merged fix) 
    \       /
    `--production (with fix) --' 

(왼쪽 o이 오래 생산 지점 팁, 오른쪽 o은 이전 개발 지점 팁)

+1

새로운 브랜치 (예 : "fix1")를 만들고이 브랜치에 커밋 한 다음 prod와 dev 브랜치 (merge)를 prod와 dev 브랜치로 병합 할 수 있습니다. – knittl

0

git rebase -i 수 있으며 productiondevelopment 앞에 새 커밋을 삽입하십시오.

새 -> 생산 - 당신은 production 지점에서 체크 아웃 커밋 후 production에 커밋을 병합 할 추천 할 것입니다 수 있도록> 개발

그러나이 힘 푸시 및 재 작성 역사를 필요 및 development 별도.