2017-01-06 4 views
2

私はgit repoを数年間問題なく使用しています。私はSmartGitを使い、ほとんどのことを行うのに便利です。Gitはset-upstream-toとpush.defaultにもかかわらずHEAD-> masterをプッシュします

私は最近、devブランチからSmartGitへのプッシュを実行中に、確認のために表示されるダイアログに「devにdevの代わりに現在のブランチ 'dev'を 'master'に」というメッセージが表示されることに気付きました。

は私が行動を比較し、それがまた、マスターにプッシュしたいことを見つけるために、CMDラインをgitのに切り替える:予想通り

$ 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の状況とレフリーが表示さ:

$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 

私は 'upstream-to'をリセットしていますが、まだ普通のgit pushはHEAD-> masterをやりたがっています。

私はこれの原因とどのように戻って、現在および/またはどのようにSmartGitが電流をプッシュするために提供停止に到達するために一致するブランチに行く簡単なGitのプッシュに到達するために何ができるかのアイデアをしてい
$git branch --set-upstream-to origin/dev 
Branch dev set up to track remote branch dev from origin by rebasing. 

- >マスター。

Gitのバージョン: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

優秀! は確かにこのレポのための私の.git/configファイルはあります [リモート "起源"] \t URLを= https://github.com/somewhere/somerepo.git \t = +レフリー/ヘッド/ *フェッチ:参考文献/ remotes/origin/* \t push = HEAD:refs/heads/master プッシュラインがどのようにそこにあるのかわかりません。それとともに、すべてが正常になりました。 – mmeyer

関連する問題