이 또는 유사한 git branching workflow를 사용합니까?
우리는 직장에서 유사한 워크 플로를 사용하지만 조금 덜 복잡합니다. 그러나이 기사를 여러 번 읽었으므로이 워크 플로우에서 큰 영감을 받았습니다. 나는 심지어 책상 옆에 색상으로 인쇄 된 분기 모델의 PDF를 가지고 있습니다 :)
이것이 생산적인 접근 방법이라고 생각하십니까?
생산적인. 생산성을 어떻게 정의합니까? 글쎄, 적어도 항상 더 나은 품질을 시도하고 달성하기 위해 높은 품질을 유지하는 것이 가장 중요합니다. 프로세스 등을 지속적으로 개선합니다. 품질 코드를 생성 할 수 있으면 생산성이 향상됩니다. 문제는 실제로 : 소프트웨어의 품질을 향상 시키는가? 그리고 그것에 대한 나의 대답은 분명히 그렇습니다.
이 유형의 브랜칭 모델에서 내가 가장 좋아하는 것은 다른 품질 계층의 브랜치를 소개한다는 것입니다. 사진에서 오른쪽으로 갈수록 안정성과 품질이 향상됩니다. 마스터 브랜치는 거룩하며 모든 커밋은 소프트웨어의 안정적인 버전으로 간주되어야합니다. 왼쪽으로 갈수록 더 실험적이고 안정성이 떨어집니다.
새로운 기능과 버그 수정을 테스트하자마자 왼쪽에서 오른쪽으로 점진적으로 전송하여 코드가 요구하는 품질 요구 사항을 충족한다는 것을 정확히 알 때 정확하게 고품질로 코드를 이동할 수 있습니다. 글쎄, 적어도 이론적으로는 100 %까지 모든 것을 테스트 할 수는 없으며 항상 버그가 있기 때문에 코드에 버그가 없음을 알고 있습니다. 그러나 높은 신뢰를 유지할 수 있습니다.
코드에 대한 자신감이없는 시스템에서 작업하는 것보다 프로그래머에게는 더 많은 것이 없습니다.
이 접근 방식에 결함이 있습니까? 잠재적 인 단점이 있습니까?
조직의 요구에 잘 맞도록 분기 모델을 통해 생각하는 것이 중요합니다. 이 모델이 일부 사람들에게 잘 작동한다고해서 반드시 다른 사람에게 최적이거나 바람직한 것은 아닙니다.
이 경우에도 항상 트레이드 오프가 있습니다. 한 가지 단점은 분기 수와 복잡성입니다. 다양한 지점 유형을 도입하면 워크 플로의 복잡성이 증가합니다. 예를 들어 사람들이 몇 줄의 코드를 변경하여 간단한 버그를 수정하려고 할 때 항상 새로운 기능 분기를 작성하도록하는 것은 잘못 일 수 있습니다.
우리는 버그가 해결하기가 다소 복잡하다는 것을 알고 있습니다. 따라서 사소한 버그가 발견되면 복잡성과 관리를 줄여 추가 오버 헤드를 없애고 사람들이 직접 마스터 또는 지점 개발에 전념하도록 할 수 있습니다. 그러나 수정 사항의 본질이 더 복잡 해짐에 따라 새 분기를 작성하는 추가 오버 헤드가 필요합니다. 특히 크기와 길이가 확실하지 않거나 다른 개발자와의 협업을 향상시키려는 경우에 특히 그렇습니다.
더 나은 접근 방법이 있다면 공유하거나 기사 또는 토론 링크를 제공 하시겠습니까?
이것은 좋은 접근 방법 일 것입니다. 우리 대부분은 비슷한 개발 프로세스를 가지고 있기 때문에 대부분의 경우에 적합 할 수 있지만 모든 사람에게 적합하지 않을 수도 있습니다. 지금 코드를 처리하는 방법을 생각하고 이미 가지고있는 브랜칭 모델을 만들어 보길 강력히 권합니다.
가장 중요한 점은 git을 시작하는 것이고 나머지는 자연스럽게 따릅니다. 간단하게 시작하고 점차 개선하십시오! 창의력을 발휘하십시오!
건배