2017-01-06 9 views
2

2 년 동안 문제없이 git repo를 사용하고 있습니다. 나는 대부분의 일을 편리하게하기 위해 SmartGit을 사용한다.Git은 set-upstream-to 및 push.default에도 불구하고 HEAD-> master를 푸시합니다.

최근에 dev 브랜치에서 SmartGit으로 푸시하는 동안 확인을 위해 표시되는 대화 상자에 "dev '대신 dev에'master '로'라는 메시지가 표시됩니다.

나는 동작을 비교하고 또한 마스터에 밀어 원하는 것을 찾기 위해 cmd를 라인을 이눔로 전환 예상대로

$ git push --dry-run 
To https://github.com/some_repo.git 
    c00bb9e..6a8ade4 HEAD -> master 

refspec 작품 누르면,하지만 난 SmartGit 말할 수있는 방법을 찾을 수가 캔트 해당 refspec을 사용하거나 dev -> master를 푸시한다고 결정하는 방법.

$ git push origin dev --dry-run 
To https://github.com/some_repo.git 
    428dd9b..6a8ade4 dev -> dev 

망할 놈의 상태와 심판이 예상대로 보여

$git status 
On branch dev 
Your branch is ahead of 'origin/dev' by 1 commit. 
    (use "git push" to publish your local commits) 
nothing to commit, working directory clean 

$ git symbolic-ref HEAD 
refs/heads/dev 

내 구성 push.default 원격에 같은 이름으로 밀어 일치하는 경우 불평 전류를 의미해야하는 '간단한'로 설정 .

git config push.default 
simple 

나는 또한 '상류에'를 다시했지만 여전히 일반 자식 밀어 HEAD을하고자하는 끝 -> 마스터.

$git branch --set-upstream-to origin/dev 
Branch dev set up to track remote branch dev from origin by rebasing. 

나는이의 원인이 될 방법과 간단한 자식 푸시는 현재 일치하는 지점에 가기로 돌아갈 수 있는지에 대한 아이디어 나갈거야 및/또는 SmartGit은 현재의 밀어 제공을 중지하는 방법을 -> 마스터.

힘내 버전 : 2.5.0

SmartGit 버전 : 8.0.3 # git-push(1)에서 8135

답변

3

: 명령 줄 <refspec>... 인수 또는 --all으로 밀어을 지정하지 않는

, --mirror, --tags 옵션의 경우 remote.*.push 구성을 참조하여이 명령이 기본값 <refspec>을 찾으면 찾을 수없는 경우 push.default conf iguration을 눌러 푸시 할 내용을 결정하십시오 (push.default의 의미는 git-config (1) 참조).

remote.dev.pushHEAD으로 설정되어있는 것 같습니다.

+1

우수! 는 사실이 REPO 내 .git/config 파일이 있습니다 [원격 "기원"] \t URL을 = https://github.com/somewhere/somerepo.git \t = + 심판/헤드/* 가져 오기 : 심판을/리모트/원산지/* \t 푸시 = HEAD : refs/heads/master 푸시 라인이 어떻게 거기에 왔는지 실마리가 없습니다. 그것으로 모든 것이 다시 정상이되었습니다. – mmeyer