git merge의 기본값을 –no-ff –no-commit으로 만들려면 어떻게해야합니까? 지점에 저에 대한 기본? (그리고

회사 정책은 --no-ff병합 커밋 에 사용하는 것 입니다. 개인적으로 병합 로그 메시지를 조정하여 --no-commit. 또한 커밋을 놓기 전에 실제로 컴파일하고 테스트하는 것을 좋아합니다.

어떻게해야합니까 --no-ff--no-commit모든 지점에 저에 대한 기본?

(그리고 나는 이것을 묻는 이후 몇 년 동안 배웠습니다. 저는 거의 항상 커밋에 만족하므로 기본적으로 커밋을 허용하는 것이 더 간단하며 푸시 작업을 수행하기 전에 수정하거나 수정하는 한 문제 없다…)



답변

이것을 $ HOME / .gitconfig에 넣으십시오.

[merge]
    ff = no
    commit = no

git-config를 사용하여 다음을 수행 할 수 있습니다.

  git config --global merge.commit no
  git config --global merge.ff no

답변

--no-ff --no-commit기본 병합 동작 을 만들려면 다음을 no사용 하도록 옵션을 설정하십시오 .

git config --global merge.ff no
git config --global merge.commit no

그러나 이것의 문제는 git pull= git fetch+ git merge입니다. 따라서 원격 서버에서 가져올 때마다 간단한 빨리 감기가 보장 될 때 추악한 병합 커밋을 생성하게됩니다. 이를 해결하려면 다음과 같이 설정 pull.ff하십시오 yes.

git config --global pull.ff yes

답변

git 1.7.6 버전부터 다음을 사용해야합니다.

git config [--global] merge.ff no

--no-ff모든 병합에서 사용하는 “강제” 합니다.

기본 동작은

git config [--global] merge.ff yes

그리고

git config [--global] merge.ff only

빨리 감기가 아닌 병합을 거부합니다.


답변

에 따르면 매뉴얼 , 당신은 사용해야합니다

$ git config [--global] merge.ff false

git-config 유틸리티를 사용하여 모든 분기에 대해 기본적으로 no-fast-forward 옵션을 설정합니다.