2014-04-14 3 views
7

내가git autosetuprebase가 작동하지 않습니까?

git config --global branch.autosetuprebase always 

와 자식을 설정하고 내 ~/.gitconfig 파일에 좋아 보이는 : 나는 그가 병합을 수행

git pull 

할 때 그러나

[branch] 
    autosetuprebase = always 

을 (내가 회사를 제거 특정 데이터) :

From gitlab:***/*** 
    8fd1d96..0d064a3 master  -> origin/master 
* [new tag]   *** -> *** 
Merge made by the 'recursive' strategy. 

왜 그는 rebase를 수행하지 않습니까? 그는 원격에서 가져온 유일한 것은 태그 로컬이 아닌 변경된 파일에 마이너 코드 변경 ...

편집했다 참고 : 나는 자식 버전 1.8.4.5

편집이 내 로컬 .git/config 파일입니다

[core] 
     repositoryformatversion = 0 
     filemode = true 
     logallrefupdates = true 
[branch "master"] 
[remote "origin"] 
     url = [email protected]:***/***.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
     remote = origin 
     merge = refs/heads/master 
+0

로컬 .git 구성 파일을 확인 했습니까? 그것을 덮어 쓰는 것입니까? –

+0

@SukhmeetSingh : 내 질문에 추가했습니다 ... autosetuprebase 옵션을 덮어 쓰지 않습니다. –

+0

"git help config"에서 "새 분기가 git branch로 생성 될 때 또는 git checkout이 다른 분기를 추적 할 때 ..."라는 부분을 놓친 것 같습니다. 나는'autosetuprebase'가 당신이 repo에 이미있는 브랜치 ('master'와 같은)에 소급 적으로 영향을 줄 것이라고 생각하지 않습니다. 당신은 수동으로 그 것들을 조정해야합니다 ... – twalberg

답변

9

gitbranch.autosetuprebase 옵션은이 설정된 후 생성 된 지점에 영향을 미칩니다. 설명서 페이지 (git help config)에서 :

branch.autosetuprebase 
     When a new branch is created with git branch or git checkout that tracks another branch, this variable 
     tells Git to set up pull to rebase instead of merge (see "branch.<name>.rebase"). When never, rebase is ... 

이미 존재하는 가지의 경우. master에는 git config branch.master.rebase true이 있으며 필요에 따라 여러 브랜치/repos에 대해 스크립트 할 수 있습니다.