2013-01-15 3 views
1

git repo에서 작업하는 몇 사람이 있습니다. 우리 모두는 그것을 끌어 왔습니다. 몇 가지 기능 지점과 물론 마스터가 있습니다.복잡한 git repo 되돌리기

이제 문제는 하나의 기능이 마스터 브랜치에서 개발되었지만 불완전하며 더 이상 버그 수정을 코드에 배치 할 수 없다는 것입니다.

나는 자식에 대해 약간 이해하지만 확실하게 repo를 '안정화'할만큼 충분하지 않으며 상황이 완전히 엉망이라는 것을 알고있다.

나는 등, 밀려 아직 마스터가 독립적으로 커밋 할 수 있도록하는 동안 올바른 지점에 마스터에서 밀어 커밋 분할에 대해 갈 것입니다 방법 -. 우리는 버그 수정을 계속 수행 할 수 있지만 이후에 기능을 통합 할 수 있도록

도움을 주시면 감사하겠습니다.

답변

2

현재 master의 분기점을 development 개 생성하십시오. 모든 개발 노력을 developement으로 푸시하고 버전을 가리키는 master을 다시 만드십시오.

버그 수정의 경우 새로운 master에서 브랜치를 꺼내서 테스트하고 태그를 달고 다시 master에 병합하십시오. 이 방법으로 나머지 팀원은 다른 기능을 계속 사용할 수 있으며 버그 수정은 master으로 병합되고 패치로 릴리스 될 수 있습니다.

git branching model을 참조하십시오. 당신을 가정

은 당신이 할 수있는 안정적인 릴리스로 태그가 (또는 적어도 그것에 해시를 커밋) :

//lets sync origin master and local master 
git checkout master //checkout local copy of master 
git pull origin master //grab any changes in origin/master 
git push //now origin and local are in sync 

//create development branch off of master 
git checkout -b development master 
git push origin development:development 

//now point master to release tag 
git branch -d master 
git checkout -b master tag_name 
git push -f origin master:master 

이제 모든 사람들이 자신의 기능을 가지로 개발을 병합 할 수 있습니다. 버그 수정은 마스터가됩니다.

+0

입력 해 주셔서 감사합니다. 그것이 계획이지만 마스터를 다시 만드는 방법에 대해서는 분실했습니다. –

+0

편집 내 대답을 참조하십시오. –

+0

완벽. 도와 주셔서 감사합니다. 이것은 우리 지회 관리와 함께 편안함을 얻도록 가르쳐 줄 것입니다. –