2012-05-10 2 views
3

내가 잘못 원격 추적이 설정 얻을 지점 만들 때 원격 제대로 추적을 설정 : EGit - 나는 EGit을 사용하여 원격 지점에서 새로운 지점을 만들 때

내가 원격 지사 심판에서 로컬 브랜치 feature1을 만듭니다/heads/master와 즉시 업스트림으로 이동합니다. 한 아래와 같은 원격 추적 내 .git/config 파일에서 구성됩니다 :

[branch "feature1"] 
    remote = origin 
    merge = refs/heads/master 

그래서, 끌어 당겨 원격 마스터 지점에 /에서 끌어 해당 분기에 밀어 넣습니다. 내가 대신 다음과 같은 추적 구성을 기대 :

[branch "feature1"] 
    remote = origin 
    merge = refs/heads/feature1 

나는 심지어 EGit에서 문제를 해결할 수있어,하지만 내 팀의 다른 개발자하지이 실현과 마스터 분기되지 않은 기능을 밀어 걱정.

내가 잘못 했나요?

+0

Egit 3.2 finally (2014 년 2 월)는 푸시 할 때 업스트림 브랜치를 설정합니다! [내 편집 대답 아래] 참조 (http://stackoverflow.com/a/10547268/6309) – VonC

답변

0

은 어쩌면 당신은 원격 추적 지점에서없는 기능 지점을 개발할 조언한다 (예를 들어 원점/마스터)가 아닌 로컬 원점 (마스터)에서 가져옵니다. 이렇게하면 EGit은 기본적으로 원격 추적을 설정하지 않습니다.

분기를 처음으로 게시하기로 결정한 경우 bug 378960이 구현 된 후 원격 추적 (git push -set-upstream와 동일)을 설정할 수 있어야합니다.

+0

github까지 공유 프로젝트 브랜치를 푸시해야하는 경우 매우 좋은 대답은 아닙니다. 이 경우 생성시 원격 추적을 올바르게 설정할 수 없어야하는 이유는 없습니다. –

+0

버그 378960이 마침내 해결되었다는 것을 반영하기 위해 아래에서 내 대답을 편집했습니다! – VonC

1

Egit은 기본적으로 원격 매개 변수에서 분기를 만들 때 병합 매개 변수의 업스트림 브랜치를 사용합니다.
즉 로컬 브랜치 master에서만 remote/master으로 푸시하는 정책을 시행하려는 경우 로컬로 시도하고 시행 할 수 있습니다.

점검 Egit은 (실제로 default policy after git1.7.10 될 수 있음) 같은 이름으로 상류 지점 만 현재 분기를 밀어위한 git config push.default current을 존중합니다.
그러나 모든 개발자가 해당 정책을 자신의 레포에서 활성화했는지 확인해야하는 문제가 있습니다. 즉, 여기에 'master'(해당 스크립트가 분기되고, 업데이트의 이름을 :

는 (나는 당신이 server-side hook 같은 update 후크를 추가 할 수있는 "중심"의 repo 하나에 그것을 적용 할 수 있다고 생각하지 않습니다 즉, 여기에 'feature1'하류의 repo에있는 지점의 이름이 아니라) 주


: Egit 3.2 2014 년 (2 월) 해결로 bug 378960가 표시되었습니다 :

푸시 지점/초기 푸시 마법사 지점을 밀어 단순화하고 또한 푸시 작업에 의해 만들어진 새로운 지점에 대한 업스트림 구성 할 수 있습니다 :

https://wiki.eclipse.org/images/6/6f/Egit-3.2-PushBranchWizard.png

관련 문제