Git에 다음과 같은 상황이 있다고 가정 해 봅시다.
작성된 저장소 :
mkdir GitTest2 cd GitTest2 git init
마스터에서 일부 수정이 이루어지고 커밋됩니다.
echo "On Master" > file git commit -a -m "Initial commit"
Feature1은 마스터에서 분기되었으며 일부 작업이 완료되었습니다.
git branch feature1 git checkout feature1 echo "Feature1" > featureFile git commit -a -m "Commit for feature1"
한편, 마스터 코드에서 버그가 발견되고 핫픽스 브랜치가 설정됩니다.
git checkout master git branch hotfix1 git checkout hotfix1
버그는 핫픽스 분기에서 수정되어 마스터로 다시 병합되었습니다 (아마 풀 풀 요청 / 코드 검토 후).
echo "Bugfix" > bugfixFile git commit -a -m "Bugfix Commit" git checkout master git merge --no-ff hotfix1
feature1에 대한 개발은 계속됩니다.
git checkout feature1
기능 분기에 핫픽스가 필요하다고 가정 해 보겠습니다. 버그가있을 수도 있기 때문일 수 있습니다. 커밋을 기능 분기에 복제하지 않고 어떻게 이것을 달성 할 수 있습니까?
기능 구현과 관련이없는 기능 지점에서 두 개의 새로운 커밋을 얻지 못하게하고 싶습니다. 풀 요청을 사용하는 경우 특히 중요합니다. 이러한 모든 커밋은 풀 요청에도 포함되며 이미 완료되었지만 (핫픽스가 이미 마스터에 있으므로) 검토해야합니다.
git merge master --ff-only
"치명적 : 빨리 감기, 중단 할 수 없음"을 수행 할 수 없지만 이것이 도움이되었는지 확실하지 않습니다.
git rebase
저에게는 흑 마법처럼 보입니다 ....
git branch feature1
과 git checkout feature1
결합 될 수있다 git checkout -b feature1
4. 완전히 감소 될 수있다git checkout -b hotfix1 master
feature1
이 완전히 로컬 인 경우을 살펴보십시오git rebase
.