48
제목에서 알 수 있듯이 git merge --squash
과 git merge --no-commit
의 차이점은 분명하지 않습니다.Git merge --squash와 --no-commit의 차이점
git merge
에 대한 도움말 페이지를 이해하는 한, 두 명령 모두 나를 편집하고 마지막 커밋 (또는 여러 커밋)을 수행 할 수있는 업데이트 된 작업 트리에 남겨 둡니다.
누군가 2 가지 옵션의 차이점을 분명히 할 수 있습니까? 언제 다른 하나 대신 하나를 사용합니까?
그래서 병합 커밋은 어떻게 역사에 나타 났습니까? 커밋 메시지를 편집 할 수 있기 때문에 병합 커밋이라는 것을 어떻게 알 수 있습니까? – quaylar
@quaylar 병합 커밋은 다중 커밋을 제외하고는 특별한 커밋이 아닙니다. 'git log --parents' (예를 들어,'git log --merges'는 그러한 커밋만을 보여줍니다)와 같이 커밋에 대한 부모를 볼 수 있습니다. –
@PhilippWendler 그래서 본질적으로 병합 커밋을 통해 역사를 살펴보면이 커밋이 병합의 결과라는 것을 알 수 있습니다 (이 병합에 기여한 지점도 정보가 유지됩니까?). --squash를 사용하면이 커밋이 병합의 결과라는 것을 알 수 없습니다. 나는 그것을 정확하게 이해하고 있는가? – quaylar