반응형
`--squash`와`--no-ff --no-commit`의 차이점은 무엇입니까?
마이크로 커밋을 숨기려면 어느 것을 사용해야합니까?
다른 부모 git merge --squash
와 의 유일한 차이점은 git merge --no-ff --no-commit
무엇입니까?
차이점들
이러한 옵션은 별도의 목적으로 존재합니다. 저장소는 다르게 끝납니다.
주제 브랜치에서 개발을 완료 한 후 저장소가 다음과 같다고 가정 해 보겠습니다.
--squash
master를 체크 아웃 한 다음 git merge --squash topic; git commit -m topic
, 다음을 얻습니다.
--no-ff --no-commit
대신,하면 다음과 git merge --no-ff --no-commit; git commit -m topic
같이 표시됩니다.
마이크로 커밋 숨기기
마이크로 커밋 을 정말로 숨기려면 ( 저장소에서 삭제 를 의미 합니다) --squash
. 위의 이미지에서 볼 수 있듯이 스쿼시하지 않으면 마이크로 커밋을 실제로 숨기지 않습니다. 또한 일반적으로 주제 분기를 세계로 밀지 않습니다. 주제 분기는 주제가 성숙해지기위한 것입니다.
히스토리에 모든 마이크로 커밋을 포함하고 다른 개발 라인 (위 이미지의 녹색 라인)에 남겨 두려면 --no-ff --no-commit
. 그러나 a) 이것은 브랜치가 아니며 b) 커밋의 또 다른 부모이기 때문에 Git에서 실제로 아무 의미가 없다는 것을 기억하십시오.
정말로 이해하고 싶다면 Git Branching-What a Branch Is를 참조하십시오 .
반응형
'IT story' 카테고리의 다른 글
Google Map Api v2가 로그에 'V / GoogleSignatureVerifier : 서명이 유효하지 않습니다'오류 메시지를 표시 함 (0) | 2020.12.31 |
---|---|
"COM Interop 등록"은 실제로 어떤 역할을합니까? (0) | 2020.12.31 |
MySQL 쿼리의 여러 열 인덱스 이해 (0) | 2020.12.31 |
Maven 저장소, pom.xml 또는 settings.xml을 지정하는 가장 좋은 장소는 어디입니까? (0) | 2020.12.31 |
Azure의 정적 콘텐츠 (svg, woff, ttf)에 대한 404 (0) | 2020.12.30 |