중요한 웹 사이트 유지 관리에 사용합니다. 저는 유일한 개발자이지만 지점을 개발하고 개발하는 마스터가 있습니다.
사이트 설정 작업 과정은 다음과 같습니다.
실행 가능한 마스터 브랜치를 만드십시오. 초기 커밋을 수행하십시오.
Checkout은 지점을 개발합니다. 아무 것도하지 말고, 마스터로 병합하기위한 테스트 버퍼로 기능을 개발하십시오.
결제 문제 지점. 문제가 발생하면 코드를 작성하고, 개발에 참여하고, 문제가 발생하는지 확인하고, 충돌을 병합하는 등의 문제를 해결하십시오.
릴리스를 위해 충분한 문제가 개발에 병합되고 개발이 안정성을 테스트 한 경우 개발을 마스터로 가져옵니다.
Master
|
Develop - E
/ | \ \
A B C D
그렇게하면 Master에 해를 끼칠 위험없이 커밋을 롤백 할 필요없이 안정성, 문제 등을 테스트 할 수있는 전체 테스트 모음을 개발할 수 있습니다.
또한 커밋을 위해 개별 브랜치를 사용하면 이미 수행 한 작업을 "나가고"더 긴급한 문제를 해결하기 위해 다른 작업을 시작하여 더 빨리 시작할 수 있습니다.
실생활에서 나는 보통 하나의 이슈 브랜치를 가지고 있으며, 그 하나를 개발 단계에서 끌어 낸 다음 마스터로 끌어들입니다. 때때로 지루하지만, 적어도 2 개월에 한 번 누군가 RightNow ™를 만들어야한다는 생각이 들었고, 이렇게하면 신속하게 기본 상태로 다시 전환 할 수 있다는 생각이 들기 때문에 모자를 떨어 뜨려 놓아야합니다. 그리고 나서 내가 있던 곳을 계속합니다. 특히 몇 주가 걸리는 대규모 프로젝트의 경우 지점을 빠르게 전환 할 수있는 신의 선물입니다.
이 시나리오를 고려하십시오. 항상 메인 브랜치에서 작업하고 마스터 브랜치를 열린 심장 수술로 남겨두고 긴급 수정이 필요한 YugeBug ™ 팝업이있는 작업에 AwesomeCodeThing ™이 있으며 그렇지 않으면 수천 명의 사용자가 BigProblems ™에 대해 불만을 표시합니다
. 이러한 시나리오에서 문제를 신속하게 해결하는 유일한 방법
- 이전 커밋을 확인하고
- 마지막 안정적인 커밋이 언제되었는지 확인
- 그 커밋으로 롤백
- 수정하다, 수정하다
- 이제 AwesomeCodeThing ™ 상태로 돌아 가려고하는 모든 충돌 및 문제 해결
- 포기하고 울고 일을 시작하십시오. (선택 사항)
분기를 사용하는 경우 :
- 결제 마스터
- 지점 UrgentFix ™ 생성 및 수정
- UrgentFix ™를 마스터로 당기십시오
- 생산을 추진하다
- 마스터를 개발에 병합
- AwesomeCodeThing ™으로 개발 병합
- 맥주를 마시고 계속 일하십시오.