이 있다면 :
* (master) Merge feature-branch into master
|\
| * (feature-branch) Fix a comment typo
| * Add comments
| * Add feature task 3
| * Consolidate feature tasks 1 and 2
| * Add feature task 2
| * Forgot a semi-colon
| * Add feature task 1
|/
* Older commit on master
대 이것을 :
* (master, feature-branch) Add feature
* Older commit on master
첫번째는 master
에 feature-branch
의 (--no-FF) 병합하고, 하단은 스쿼시이다/feature-branch
의 rebase는 master
에 있습니다. 첫 번째 예제는 매우 자세해서 회귀 테스트를보다 집중적으로 수행 할 수 있지만 많은 기능이 있으면 지저분 해집니다. 두 번째는 많은 기능을 가지고 있지만 분기 정의가 없으면 읽기가 더 깔끔합니다. 당신의 자신의 방법은 프로젝트의 크기, 팀의 크기 등 개인적으로
에 따라 달라집니다, 나는 엄지 손가락의 규칙을 커밋 이것에 대해 것이다 누군가 다른 치료를 사용합니다. 아무도 다운 스트림을 염려하지 않는다. 나는 코멘트에 오타를 수정했다.
* (master) Merge feature-branch into master
|\
| * (feature-branch) Add feature task 3
| * Add feature task 2
| * Add feature task 1
|/
* Older commit on master
분기 역사의 관련 비트는 여전히 명백하고, 나머지는 숙청있다 : 나는 보통 내가 밀어 넣기 전에 (rebase -i
와) 같은 무언가로 첫 번째 예를 켜십시오.
"게시되지 않은 기록 다시 쓰기"에 질문을 다시 입력하십시오. 사람들이 이미 지점 등을 기반으로했을 수도있는 일들을 다시 작성하는 것은 당신의 경우에는 관련이없는 것처럼 보이는 더 많은 단점을 가지고 있습니다. – ThiefMaster