방금 http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html을 읽고 체리 피킹에서 발생하는 단일 커밋 병합에 대한 정보를 svn:mergeinfo
이 추적 할 수있는 것으로 보입니다.벚꽃 따기에 Subversion을 쓰고 자식 (또는 DAG VCS)을 더 잘 사용합니까?
feature-branch를 cherry-picked 버그 수정과 원래 분기 (이전에 버그 수정을 한 곳)에 병합 할 때 병합 충돌을 피할 수 있습니다.
여기에 재미 ASCII 아트 (이 SO에서 같은 사람) : 여기
o--o--o--o--o feature
^ ^ \
/ / v
-o--o--o--X--o---o---Y--o--> dev
X
- (우리가 dev
에서 feature
지점으로 이동 필수/차단 수정) 단지 하나의 변경 집합.
수정 X
에 의해 영향을받은 행을 변경 한 경우 Git
이 (가) Y
병합에 충돌이 발생했습니다. SVN
은 merge에서 해당 변경 집합을 건너 뜁니다. bisect
를 사용하고 수정 전파 양분과 지점에서 공통 조상을 аштв하는 DAG VCS 사용자를 유도
UPDATE. 그래서 당신은 깨끗한 역사를 만들 수 있습니다.
나는 병합 해상도에서 실수를하는 것처럼'rerere'을 싫어하지만, 내가 원하는 것을 알고 있다고 생각하기 때문에 제대로하기가 어렵습니다. – cforbish
'rerere forget [path]'와'rerere clear'를 사용하여 필요할 때 캐시 된 해상도를 해결할 수 있습니다. – Chris
@Chris 와우! 새로운 것을 알고 싶습니다. +1 – gavenkoa