developer tip

git merge의 기본값을 --no-ff --no-commit으로 만들려면 어떻게해야합니까?

copycodes 2020. 11. 13. 23:42
반응형

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 옵션을 설정합니다.

참고 URL : https://stackoverflow.com/questions/5519007/how-do-i-make-git-merges-default-be-no-ff-no-commit

반응형