최근 SVN에서 Git으로 변환 된 특정 사이트 개발 환경에서 워크 플로를 수행하는 방법을 계획하는 데 도움이 필요합니다.Git 웹 개발 워크 플로우 : 긴급 수정 사항 및 여러 주요 일정 게시하기 저글링
나는 클라이언트 서버에 라이브 및 스테이징 사이트 4 개가 있으며 개발자의 repos 중 2 개에 "허브"(베어 레포)를 호스팅하는 dev 서버가 있습니다. 알려지지 않은 순서로 여러 개발자가 작업하면서 변경해야 할 몇 가지 마일스톤이 있습니다. 또한 라이브 사이트에는 즉시 수행되는 수많은 빠른 수정이 필요합니다.
내 주요 질문은 다음과 같습니다
긴급 수정 사항이 어떻게 변화의 이정표를 게시해야내 뇌가 알아 내려고 루프에서 이동하기 시작 이동 해결 방법
- 최고의 워크 플로우. 이 게시물의 참고 자료로, 모바일과 재 설계라는 두 가지 획기적인 변화가 있다고 가정 해 봅시다. 여기까지 지금까지 무엇을 생각해 냈습니다 :
각 개발자 repo, hub repo 및 stage repo에는 mobile, redesign, master 분기가 있습니다. 라이브 저장소에는 하나의 분기가 있습니다.
빠른 수정 : 개발자가 마스터 분기를 변경하고 허브로 푸시합니다. 그런 다음 실시간으로 허브에서 변경 사항을 가져옵니다 (또는 미리 테스트해야하는 경우 먼저 스테이지를 준비합니다).
최종 단계 및 게시 "재 설계"마일스톤 : 개발자가 지점을 허브로 다시 디자인하고 단계에서 변경 사항을 가져옵니다. 클라이언트 테스트 및 승인. 허브에서 개발자는 마스터로 재 설계를 병합합니다 (그리고 내가 생각하기에 태그를 생성합니다). 그런 다음 마스터를 라이브로 가져옵니다. 또는 개발자가 자신의 복사본에있는 지점을 병합 한 다음 마스터를 허브에 밀어 넣는 것이 더 낫습니다. 또한 태그가 생성 된 경우 마스터 브랜치를 당기지 않고 라이브 (가능한 경우) 태그를 가져 오는 것이 좋습니다. 태그는 허브 repo에만 있어야합니까?
물론, 항상 핫픽스로 리베이스 할 수있는 것은 아닙니다. 유지 관리 분기와 현재 버전을 병합 할 수 있습니다. 개발자는 여전히 로컬에서 병합을 수행하여 공용 repo에서 빨리 감기 병합을 수행하도록 할 수 있습니다. – Cascabel
위대한, rebasing 및 언제 그것을 할 수 있는지에 대해 깊이 설명해 주셔서 감사합니다. 후크에 관해서, 내가 마스터에 태그를 만들 때마다 태그가 자동으로 태그를 붙일 것이라고 말하는 것입니까? 내가 제대로 이해하는지 모르겠다. – spadeworkers
@spadeworkers : 푸시 된 커밋이 레이블인지 발견 할 수있는 스크립트가 있어야합니다 (즉, 'git describe'가 들어있는 곳). 그런 커밋 (즉 태그가있는 커밋) 인 경우 해당 태그는 베어되지 않은 저장소로 푸시되고 비 베어 저장소는 해당 태그로 체크 아웃됩니다 (동일한'post-receive' 훅 스크립트로) 알 겠어. – VonC