728x90
반응형
질문 : `git merge`와`git merge --no-ff`의 차이점은 무엇입니까?
gitk log
사용하면 둘 사이의 차이점을 찾을 수 없습니다. 차이점을 어떻게 관찰 할 수 있습니까 (git 명령 또는 일부 도구 사용)?
답변
--no-ff
플래그는 HEAD
가 병합하려는 커밋의 조상 git merge
가 "빨리 감기"를 실행하는 것을 방지합니다. 빨리 감기는 병합 커밋을 구성하는 대신 git이 들어오는 커밋을 가리 키도록 분기 포인터를 이동하는 경우입니다. 이것은 일반적으로 로컬 변경없이 git pull
을 수행 할 때 발생합니다.
그러나 때로는 특정 분기 토폴로지를 유지하기를 원하기 때문에 이러한 동작이 발생하는 것을 방지하고 싶을 때가 있습니다 (예 : 토픽 분기에서 병합하고 히스토리를 읽을 때 그렇게 보이는지 확인하려는 경우). 이를 위해 --no-ff
플래그를 git merge
는 항상 빨리 감기 대신 병합을 생성합니다.
마찬가지로, git pull
git merge
를 사용하고 빨리 감기를 할 수없는 경우 구제 --ff-only
하려면 --ff-only 플래그를 사용할 수 있습니다. git pull --ff-only
와 같은 작업을 정기적으로 수행 할 수 있으며 오류가 발생하면 다시 돌아가 병합 또는 리베이스할지 결정할 수 있습니다.
출처 : https://stackoverflow.com/questions/9069061/what-is-the-difference-between-git-merge-and-git-merge-no-ff
728x90
반응형
'개발관련 > Git' 카테고리의 다른 글
이 저장소에서 다른 git 프로세스가 실행중인 것 같습니다. (0) | 2021.12.11 |
---|---|
브랜치를 변경하지 않고 다른 Git 브랜치에서 파일보기 (0) | 2021.12.11 |
Git Bash에 복사하여 붙여 넣는 방법 (0) | 2021.12.10 |
macOS 업데이트 후 Git이 작동하지 않는 오류 (xcrun : 오류 : invalid active developer path (/Library/Developer/CommandLineTools) (0) | 2021.12.10 |
'git diff'가 호출기를 사용하지 못하도록 하는 방법 (0) | 2021.12.10 |