2012-05-10 2 views
9

모든 로컬에서 생성 된 GIT 분기를 매일 중앙 저장소에 푸시해야합니까? 이것에 관한 가장 좋은 실천 워크 플로우는 무엇입니까?모든 로컬 GIT 지점을 푸시 하시겠습니까? 모범 사례?

대형 팀에서 지속적으로 개발중인 대규모 전자 상거래 사이트를 관리하기 위해 GIT 저장소를 만들었습니다.

중앙 저장소는 'Beanstalk'에 있으며 '프리 스테이지'(마스터), '스테이징'및 '프로덕션'이라는 세 가지 기본 브랜치가 있습니다. 모든 개발은 로컬에서 완료되어 게시 될 준비가되었을 때 사전 준비 작업으로 병합되어야합니다.

장기 실행 분기를 Beanstalk으로 밀어 넣을 수도 있습니다. 그러나 일부 팀원들은 모든 지역 개발 부서를 매일 Beanstalk로 추진하고 있습니다. 중복을 만들 수 있습니다. 시간이 지남에 따라 저장소가 수백 가지로 복잡해질 것이라고 생각합니다. 모범 사례는 무엇입니까?

답변

7

나는 중앙 저장소를 오염시키지 않고 모두 가지의 가지로 모두 사용자를 선호합니다.

는 혼합하지 마십시오 :

+0

감사합니다. 위대한 답변과 적절한 백업을 수행하는 방법에 대한 추가 지침을 보내 주셔서 감사합니다. 이것이 우리가 갈 길입니다. – Garrick

2

사용자가 원격 지점을 완료하면 원격 지점을 정리하게 할 수 있습니다. 안전한 보관을 위해 로컬 지점을 밀어 넣도록하는 것은 나쁜 생각이 아닙니다 (특히 해당 상자에 백업 솔루션이없는 경우). 그렇지 않으면 컴퓨터가 죽으면 로컬 브랜치가 사라집니다.

+1

이것은 다른 사람들이 내 팀에 제기 한 논쟁입니다. 나는 당신이 어디에서 왔는지 이해할 수 있지만이 워크 플로우에 동의하지 않습니다. 나는 그것이 두 개의 분리 된 작업 인 '백업'과 '버전 제어'를 혼동하고 있다고 생각합니다. 분산 버전 관리 이전 버전에서는 변경 사항을 여러 저장소에 백업 양식으로 밀어 넣지 않았습니다. 우리가이 길로 갈 계획이라면이 추가 분기를 포함하는 두 번째 '실무'마스터 리포지토리를 만들고 사람들에게 완료 될 때 닫도록 요청할 것입니다. 나는 우리가 이것을 할 것이라고 생각하지 않는다. – Garrick

+1

fwiw 위의 답변에 투표했습니다 ... 다른 사람들과 공유해야 할 때 원격으로 만 밀어 넣습니다. –

2

나는 일상적인 작업의 백업을위한 중앙 저장소를 사용하는 것이 좋다고 생각합니다. 공유, 테스트 또는 발표하려는 커밋을 보유해야합니다.

일일 작업 백업은 각 rep 컴퓨터에서 자동으로 git push --force --all backup-repo 작업을 사용하여 다른 repo 또는 좀 더 엄격한 작업을 수행하거나보다 일반적인 백업 도구로 사용해야합니다.

+1

"git push --mirror "또한 "backup"작업에 유용 할 수 있습니다 로컬로 삭제 된 분기를 삭제합니다. – kostix

+0

좋은 답변, CharlesB 및 kostix – Garrick

관련 문제