3
진단 정보를 공개하는 제품에 추가 된 몇 가지 기능이 있습니다. 이 정보가 프로덕션 환경에서 공개되어서는 안되기 때문에 지사는 마스터에 대한 몇 가지 커밋입니다.어떻게하면이 힘내 테스트 워크 플로우를 구현할 수 있습니까?
A-B-C-D-E (master)
\
F-G (local_testing)
로컬 훨씬 쉽게 F
및 G
메이크업 테스트를 커밋합니다. 이제 기능을 추가하고 작동하는지 확인하려면 local_testing
을 기반으로 새 지점 new_feature
을 확인하십시오.
git checkout -b new_feature local_testing
# Do work
git commit -a -m "H"
커밋 H
은 필요한 기능을 추가합니다.
A-B-C-D-E (master)
\
F-G (local_testing)
\
H (new_feature)
나는 대화하기 전에
F
를 저지
H
커밋 이동 리베이스하고있다. 그런 다음
new_feature
이 가리키는 커밋 객체를 새로운
H'
으로 이동시키기 위해 하드 리셋을 수행합니다. 그래서 역사를 커밋
git rebase -i master
git reset --hard H
보이는 같은 :
A-B-C-D-E (master)
\
H' (new_feature)
\
F'-G' (local_testing)
new_feature
-
master
그럼 난 빨리 감기
및 삭제 new_feature
.
git checkout master
git merge new_feature
git branch -d new_feature
이것은 약간 거추장스럽고 (특히 하드 리셋) 느껴집니다. 이 흐름을 구현하는 더 좋은 방법이 있습니까?
'git cherry-pick'도 사용합니다. 'new_feature'에 대한 커밋이 여러 개인 경우'git reset --soft HEAD ~ X' 명령으로 스쿼시 할 수 있습니다. 여기서'X'는 스쿼시 커밋 수입니다. – jackdbd