기본적으로 모든 리포지토리에 대해 Git Pull 사용 기본값을 사용하도록 만드는 방법은 무엇입니까?
할 수 ?git pull
됨 (으)로 표시됨--rebase
Stack Overflow Stack Overflow를 하여 Stack Overflow에 대해 되었습니다.branch.autosetuprebase
그러나 복제본별로 개별적으로 구성해야 합니다.
내 프로젝트 흐름은 다음과 같이 설정됩니다.pull
그자리의 develop
에분기다하 앞에 merge
기능 분기를 지정합니다. 것이.pull
거의항사는하용을 사용합니다.--rebase
그래서 저는 이것이 기본값이 될 수 있는지 알아보려고 합니다.
이제 기본 풀 동작에 대한 3가지 수준의 구성이 있습니다.가장 일반적인 것부터 가장 미세한 것까지 다음과 같습니다.
1. pull.rebase
을 이설을설로 합니다.true
는 것을 의미합니다.git pull
항상다같습다니과음다▁toent같▁always▁equival니에 해당합니다.git pull --rebase
(예외),branch.<branchname>.rebase
으로 명적으설정으로 되어 있습니다.false
이전역으로 도 있습니다.) 이 값은 리포지토리별로 또는 전역으로 설정할 수도 있습니다.
2. branch.autosetuprebase
을 이설을설로 합니다.always
즉, 추적 분기가 생성될 때마다 아래와 같은 구성 항목이 생성됩니다. 제어를 보세밀제위다해음같과이설수있다습도니정으로 설정될 수 .never
,local
또는remote
저장소별 또는 전역별로 설정할 수 있습니다.» git config --help
자세한 내용은
3. branch.<branchname>.rebase
을 이설을설로 합니다.true
특정 분기가 항상 리베이스를 통해 업스트림에서 풀된다는 것을 의미합니다.git pull --no-rebase
명시적으로 사용됩니다.
결론
저장소의 수는 , " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 사용자의 ( 및 에 대한 할 수 .git config --global pull.rebase true
.
어때.
git config --global pull.rebase true
이렇게 하면 항상 리베이스로 당김을 지시합니다.
대답은 아니오입니다.
사용자가 인 원격 저장소를 사용하도록 설정할 수 있는 방법은 없습니다.git pull
변경되었다.
그러나 아무도 병합 커밋을 푸시하지 않는지 확인하는 서버측 후크를 설정할 수 있습니다.
또한 관심이 있을 수 있는 몇 가지 구성 옵션도 있습니다.원격 저장소에서 복제하는 모든 개발자가 직접 설정해야 합니다.
션branch.<name>.rebase
할 수 있습니다.--rebase
게렇는, 대하것체를 합니다.<name>
지점 이름으로:
git config branch.<name>.rebase true
에서 한 후master
,master
을 에 포함시키다..git/config
다음과 같이 보입니다.
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = true
션branch.autosetuprebase
모든 Git 분기에 대해 이전 구성 명령을 실행하는 것은 번거로울 수 있으므로 모든 새 분기에 대해 자동으로 설정하도록 Git를 구성할 수 있습니다.
git config branch.autosetuprebase always
(으)로 지정할 never
,remote
,그리고.local
, 보기man git-config
자세한 내용은.)
다음을 제외하고는--global
이 " ", " " 에 됩니다..git/config
현재 리포지토리만 영향을 받습니다.와 함께--global
이 구이저위에 저장됩니다.~/.gitconfig
구성되지 않은 모든 리포지토리가 영향을 받습니다.
이 옵션은 이미 존재하는 분기에는 영향을 주지 않습니다.
션pull.rebase
git config pull.rebase true
(또한 당신은 그것을 줄 수 있습니다.--global
옵션).
true일 를 합니다.git pull
는 와동합다니등다에 합니다.git pull --rebase
,~하지 않는 한branch.<name>.rebase
로설됨으로 되었습니다.false
.
현재 리포지토리의 기본 정책을 설정할 수 있는 방법이 없습니다.
만약 당신이 그것을 스스로 원하며 적어도 1.7.9 git을 사용한다면, 당신은 전체적으로 설정할 수 있습니다.pull.rebase
다음과 같은 구성:
git config --global pull.rebase true
하지만 당신은 각 기계에서 해야 할 것입니다.한 가지 옵션은 해당 옵션으로 기본 사용자 홈 템플릿/스켈레톤을 구성하는 것입니다.그러나 사용자는 이 옵션을 변경할 수 있습니다.
병합을 원하지 않는 경우 병합이 있는 푸시를 거부하도록 서버 측 후크를 정의할 수 있습니다.
참고로 다음은 pull.rebase에 대한 원본 문서입니다.
true인 경우 "git pull"이 실행될 때 기본 원격에서 기본 분기를 병합하는 대신 가져온 분기 위에 분기를 다시 배치합니다.'지점...'을 참조하십시오.rebase"를 선택하여 패킷 단위로 설정합니다.
병합할 때 --rebase-merges 옵션을 전달하여 로컬 병합 커밋이 기본 재배치에 포함되도록 합니다(자세한 내용은 git-rebase 참조).
보존할 때 --preserve-merge도 gitbase에 전달하여 로컬로 커밋된 병합 커밋이 gitpull을 실행하여 평탄화되지 않도록 합니다.
값이 대화형이면 기본 재배치가 대화형 모드로 실행됩니다.
참고: 이 작업은 위험할 수 있습니다. 의미를 이해하지 않는 한 사용하지 마십시오(자세한 내용은 git-rebase 참조).
이것은 다음을 만듭니다.--rebase
옵션값본을 할 때 합니다.git pull
일정한 지점에
@Flimm, 나는 추가할 필요가 있었습니다.true
당신의 첫 번째 옵션을 작동시키기 위해.
따라서 올바른 구문은 다음과 같습니다.
git config branch.<branch>.rebase true
에서 이 명령을 실행하려면 다음과 같이 하십시오.develop
분기:
git config branch.develop.rebase true
그고이제는리▁and.develop
을 에 포함시키다..git/config
다음과 같이 표시됩니다.
[branch "develop"]
remote = origin
merge = refs/heads/develop
rebase = true
사중인경우를 ..gitconfig
그리고 사용하기를 원합니다.merge
에 rebase
은 이 의 길당때이, 은을당신것에의수있삽에 넣을 수 ..gitconfig
:
[pull]
rebase = false
이렇게 하면 설정한 새 프로젝트마다 성가신 경고가 제거됩니다.
언급URL : https://stackoverflow.com/questions/13846300/how-to-make-git-pull-use-rebase-by-default-for-all-my-repositories
'programing' 카테고리의 다른 글
Twitter 부트스트랩 모달 창 닫기 허용 안 함 (0) | 2023.05.21 |
---|---|
프로비저닝 프로파일에 애플리케이션-식별자 및 키체인-액세스-그룹 자격이 포함되지 않음 (0) | 2023.05.21 |
개발자 ID인 macOS Installer 패키지 준비 (0) | 2023.05.06 |
Eclipse/Maven 오류: "이 환경에는 컴파일러가 제공되지 않습니다." (0) | 2023.05.06 |
현재 사용자의 임시 폴더를 가져오는 방법 (0) | 2023.05.06 |