폴더별로 아주 큰feature 분기 보기
배경
대형 기능의 구현이 완료되었습니다. 몇 달 전에 끊어진 피처링 지점을 개발자에 넣을 때가 되었습니다.하지만 이렇게 GitHub으로 Pull Request를 보내면...변경이 너무 많아서 표시하는 데 시간이 많이 걸리고 논평하기 어려운 상태입니다.차이가 심한 경우 코드가 일부만 표시되는 경우도 있습니다(※).원래 이렇게 큰 차이는 평론의 입도로도 적합하지 않기 때문에 따로 평론을 하기로 했다.
(※ 상한선은 GitHub 공식 홈페이지 입니다.
구체적으로 말하면 이번 작업은 iOS 응용 프로그램의 자료 라이브러리로 변경 내용은 다음과 같다.
각 폴더에 대해 드래그 요청 보내기
기능 개발 지점featureA
이 충돌을 해결했다고 가정합니다.
STEP0: featureA 레이블 추가
작업 시작 지점에 라벨을 붙이다.(꼭 필요한 것은 아니지만 피처A에서 미세한 조정이 지속되면 이해하기 쉬워진다.)git checkout featureA
git tag featureA_alpa
STEP1:develop의 base 분기
git checkout develop
git branch base
STEP2: develop의 compare 분기
git checkout -b compare
STEP3: 비교 지점에 기능 A 병합
git merge featureA_alpa
STEP4: 비승인 폴더를 베이스 브랜치에 넣기
여기가 포인트!
예를 들어 Sources
원하는 객체는 다음과 같습니다.git checkout base
git checkout compare ":(exclude)Sources"
git commit
체크아웃할 때 여러 경로를 지정하면 지점을 전환하지 않고 지정한 파일 폴더의 내용만 가져옵니다.:(exclude)
를 더하면 그 경로를 배제한다는 뜻이다.
STEP5: 기본 브랜치를 compare 브랜치에 병합
이것은 원본 아래의 변경 사항만 차이로 표시합니다.git checkout compare
git merge base
git tag review_start
STEP6:push Pull Request!
base
브랜치와 compare
브랜치를push하여 GitHub에 드래그 요청을 작성합니다.git push origin base
git push origin compare
이제 원본 코드 아래의 변경 사항만 드래그 요청에 표시됩니다!
STEP7: 검토 및 수정
여느 때와 마찬가지로 GitHub에서 논평의 교환과 코드 논평을 하고 지적된 수정compare
지점을 진행한다.
팀 개발을 진행할 때 그동안 개발자와 피처A도 진행하고 있습니다!(단, 피처A에 관해서는 댓글 대상 폴더의 변경을 잠시 기다려 주십시오.)
STEP8: 수정 섹션을 featureA로 가져오기
수정된 커밋을 다시 featureA에 기반합니다.git rebase --onto featureA_alpa review_start compare
compare
에 브랜치를 결합합니다.필요한 경우 Pull Request를 제출하십시오.git checkout featureA
git merge compare
이렇게 해서 Sources 이하는 이미 댓글을 달았던 상태!
이후 댓글이 필요한 폴더를 반복하여 모두 완성하면featureA
섹션을 featureA
에 넣습니다!
어렵기 때문에 GIF 애니메이션을 해봤어요.
Pros & Cons
이러한 방법으로 검토된 분기develop
에는 모든 compare
내용이 포함되어 있으므로 구축 및 확인 작업을 수행할 수 있습니다.새로운 기능 규격을 잘 모르는 평론가에게는 실제 조작이 큰 장점이다.
다른 한편, 모든 드래그 요청의 연결 부분을 토론하기 어렵기 때문에 어떻게 분할하는가가 중요하다.새로 만든 모듈 인터페이스를 보여주고 싶다면, 모듈과 사용 부분을 동시에 포함할 수도 있습니다.
Reference
이 문제에 관하여(폴더별로 아주 큰feature 분기 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Ridwy/items/9d8801e2df0f4e009cda
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
git checkout featureA
git tag featureA_alpa
git checkout develop
git branch base
git checkout -b compare
git merge featureA_alpa
git checkout base
git checkout compare ":(exclude)Sources"
git commit
git checkout compare
git merge base
git tag review_start
git push origin base
git push origin compare
git rebase --onto featureA_alpa review_start compare
git checkout featureA
git merge compare
이러한 방법으로 검토된 분기
develop
에는 모든 compare
내용이 포함되어 있으므로 구축 및 확인 작업을 수행할 수 있습니다.새로운 기능 규격을 잘 모르는 평론가에게는 실제 조작이 큰 장점이다.다른 한편, 모든 드래그 요청의 연결 부분을 토론하기 어렵기 때문에 어떻게 분할하는가가 중요하다.새로 만든 모듈 인터페이스를 보여주고 싶다면, 모듈과 사용 부분을 동시에 포함할 수도 있습니다.
Reference
이 문제에 관하여(폴더별로 아주 큰feature 분기 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ridwy/items/9d8801e2df0f4e009cda텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)