2016-12-29 3 views
1

지금까지 git을 사용했지만, 과 관련된 git commit과 관련된 분기가 명확하지 않습니다. master 브랜치와 관련이 있습니다.git 브랜치와 릴리즈 사이의 관계

지금 내 이해는 master입니다. branch는 git의 다른 분기와 같습니다. 처음에는 자식 저장소 (git repository)를 만들 때 git init으로 만들어졌습니다.

따라서 누군가 git branchesrelease 사이의 관계를 설명 할 수 있습니까?

1 or M:1의 관계입니까? (예 : 1 개 또는 여러 분기가 출시 됨)?

또한 내 자식 branch 내에서 개별 변경 사항을 어떻게 추적합니까? 예 : 한 지점에서 편지 Bfilex.py에서 C으로 변경하고 지점으로 커밋합니까?

감사합니다.

답변

0

힘내는 이러한 요구 사항이나 작업 과정을 귀하에게 부과하지 않습니다.

인기있는 접근 방식은 항상 최신 제품 릴리스를 나타내며 릴리스 직전에만 병합되므로이 경우입니다.

또 다른 전술은 위와 동일한 역할을하는 release 브랜치를 갖는 것입니다.

마지막으로 git 태그를 SemVer 또는 다른 버전 관리 방식과 함께 사용할 수 있습니다. 수많은 다른 버전이 동시에 제작되고 있으며이를 서로 구별해야하거나 릴리스 노트를 특정 태그와 연관시켜야 할 필요가 있습니다.

위와 마찬가지로 여러 버전에 대해 다른 릴리스 분기를 사용할 수도 있습니다. 이러한 분기에서 별도의 개발을 계속하기를 원할 때 유용합니다.

워크 플로에 따라 어떤 분기가 출시 될 것인가.

다른 기능과 버그 수정 작업을하는 많은 개발자가있는 경우 릴리스 전에 함께 병합되는 여러 개의 분기로 끝날 수 있습니다. 예를 들어 : -

  • 기능/ABC
  • 기능/XYZ
  • 버그 수정/1234
  • 버그 수정/9999

당신의 QA 접근과 워크 플로우에 따라, 그들은 테스트 할 것 병합 또는 병합 및 시험하여 릴리스 준비 지점으로 보내거나 마스터로 곧장 릴리스됩니다. 팀의 규모와 성격, 유연한 태도 등에 따라 취할 수있는 많은 접근법이 있습니다.

+1

나는 '할 수 있습니다.'라고 하하합니다. 그러나 이것이 @bcmcfc가 일어나는 경향에 대한 좋은 개요를 제공한다고 생각합니다. – Jshee

관련 문제