Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git推动头部->;主控按钮设置为上游和push.default_Git_Smartgit - Fatal编程技术网

Git推动头部->;主控按钮设置为上游和push.default

Git推动头部->;主控按钮设置为上游和push.default,git,smartgit,Git,Smartgit,我有一个git回购协议在使用中,几年没有发行。我使用SmartGit是为了方便做大多数事情 我最近注意到,在从开发分支推送SmartGit时,它显示的用于确认的对话框显示“将当前分支‘dev’推送到‘master’”,而不是像以前那样将开发推送到开发 我切换到git cmd行来比较行为,发现它也想推送到master: $ git push --dry-run To https://github.com/some_repo.git c00bb9e..6a8ade4 HEAD -> m

我有一个git回购协议在使用中,几年没有发行。我使用SmartGit是为了方便做大多数事情

我最近注意到,在从开发分支推送SmartGit时,它显示的用于确认的对话框显示“将当前分支‘dev’推送到‘master’”,而不是像以前那样将开发推送到开发

我切换到git cmd行来比较行为,发现它也想推送到master:

$ 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 branch --set-upstream-to origin/dev
Branch dev set up to track remote branch dev from origin by rebasing.
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
我的config push.default设置为“simple”,这意味着current将在remote上推送到相同的名称,如果不匹配,则会进行投诉

git config push.default
simple
我还将“上游”重置为“上游”,但仍然有一个简单的git推送结束时想要做HEAD->master

$ git push origin dev --dry-run
To https://github.com/some_repo.git
   428dd9b..6a8ade4  dev -> dev
$git branch --set-upstream-to origin/dev
Branch dev set up to track remote branch dev from origin by rebasing.
我不知道这可能是什么原因,也不知道如何回到一个简单的git推送到匹配当前的分支和/或如何让SmartGit停止提供推送当前->主

$ git push origin dev --dry-run
To https://github.com/some_repo.git
   428dd9b..6a8ade4  dev -> dev
$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#8135

From
git push(1)

当命令行没有指定使用
..
参数或
--all
--mirror
--tags
选项推送的内容时,命令会通过查阅
remote.*来查找默认的
。推送
配置,如果未找到,使用
push.default
配置来决定要推送的内容(请参见
git config
(1)了解
push.default


听起来你好像把
remote.dev.push
设置为
HEAD

太棒了!实际上,这个repo的.git/config文件有:[remote“origin”]url=fetch=+refs/heads/*:refs/remotes/origin/*push=HEAD:refs/heads/master不知道推线是如何到达那里的。随着它的消失,一切又恢复了正常。