2014-01-20 1 views
0

내 프로젝트에서는 예를 들어 두 개의 분기가 있습니다 (br_1br_2). 각 지부에서 나는 몇 가지 이슈를 만든다. 이 기간 동안 몇 가지 문제가 있습니다.가지를 사용하여 git 충돌이 발생했습니다.

(br_2) 테이블 열 중 하나의 이름을 바꿔야합니다. 그럼, 다 괜찮아, 나는 (Magento를 사용하여) 업 그레 이드 스크립트를 만들었습니다, 그것은 열 이름이 바뀌 었습니다. 문제는 다른 브랜치로 바뀌었을 때 나타납니다. (이 브랜치에서 내 오래된 스크립트는 칼럼의 옛 이름을 물었습니다).

이제 br_1에서 오류가 발생했습니다.

First way은 테이블 열을 다시 이름으로 바꾸고이 브랜치에서 원하는 작업을 수행하는 것입니다. 그러나 그 후에 나는 다시 그것을해야하며, 다시 한번, 모든 가지를 합쳐서 주인이되게 할 것입니다.

Second waybr_1의 PHP srcipt에서 이전 열의 이름을 새 것으로 변경해야합니다.

더 좋은 방법으로 문제를 해결할 수 있습니까?

답변

2

할 수 있습니다 중 하나 br_1에서 누락 br_2의 모든 역사를 (커밋) 타고 br_1의 변경의 상단에 병합합니다 br_1mergebr_2. 또는 br_2의 픽스가 단일 커밋 (예 : [548662a4] Fix name of table column)에 포함되어 있으면 br_1에 커밋을 cherry-pick 할 수 있습니다. ,

git log br_2 
// commit 548662a48154cf741649892cefc421135c65caf1 
// Fix name of table column 

git checkout br_1 
git cherry-pick 548662a4 
// Potentially fix and merge conflicts, and re-commit 
+0

는 예, 체리 선택에 대해 생각 :

git checkout br_1 git merge br_2 // Potentially fix and merge conflicts, and re-commit 

두 번째 옵션 (A 단일br_2에서 커밋 소요) :

첫 번째 옵션 (br_2의 모든 역사 소요) 문제는 br_2에 있어야하고, br_2 용으로 생성 된 모든 문제는 br_2에 있어야하지만, 다른 방법으로는 +1해야합니다. 감사합니다. – sergio

+0

@sergio 조금 혼란 스럽네요. 왜 체리 피크가 작동하지 않는지. 문제는'br_2'에 관한 것이지만 br_1에 영향을 미치는 것 같습니다. 이 경우,'br_2'에있는 수정 사항이'br_1'에도 나타나기를 원하지 않는 이유는 모르겠습니다. 당신이 정교한다면, 나는 여전히 도울 수 있습니다. – Sam

관련 문제