标题:[实践OK]Git 2.x 中git push时遇到 push.default 警告的解决方法 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Tue, 14 Nov 2017 20:01:26 +0000 作者:jackxiang 地址:http://jackxiang.com/post/9519/ 内容: git version 2.7.4在提交时出现 push.default 警告问题。 两步解决: 步骤一:git config --global push.default simple 步骤二:git push -u origin master #第一次,或:git push -u origin devel 步骤三:后再直接执行 git push 就可以了。 新建立分支后及时上面设置还是会报错怎么办?如下: #git push fatal: 当前分支 release1 没有对应的上游分支。 为推送当前分支并建立与远程上游的跟踪,使用 git push --set-upstream origin release1 git config -l|grep simple push.default=simple 按它提示的设置一下呢?就好了,如下: git push --set-upstream origin release1 Total 0 (delta 0), reused 0 (delta 0) remote: remote: To create a merge request for release1, visit: ..... remote: To git@gitlab.xxx.com.cn:devel/iot.lewo.com.git * [new branch] release1 -> release1 分支 release1 设置为跟踪来自 origin 的远程分支 release1。 在merge后,其并没有啥状态不一样的,因为没有冲突啥的,Merge后,以及提交后的一个对比: Merge后: #git status 位于分支 release1 无文件要提交,干净的工作区 提交Merge到GitServer后(git push --set-upstream origin release1): #git status 位于分支 release1 您的分支与上游分支 'origin/release1' 一致。 无文件要提交,干净的工作区 =====================实践如下====================== #git config --global push.default simple #git push fatal: 当前分支 devel 没有对应的上游分支。 为推送当前分支并建立与远程上游的跟踪,使用 git push --set-upstream origin devel #git push -u origin devel 对象计数中: 3, 完成. 压缩对象中: 100% (3/3), 完成. 写入对象中: 100% (3/3), 355 bytes | 0 bytes/s, 完成. Total 3 (delta 2), reused 0 (delta 0) remote: remote: To create a merge request for devel, visit: remote: http://gitlab.xxx.com.cn/devel/iot.lewo.com/merge_requests/new?merge_request%5Bsource_branch%5D=devel remote: To git@gitlab.xxx.com.cn:devel/iot.lewo.com.git * [new branch] devel -> devel 分支 devel 设置为跟踪来自 origin 的远程分支 devel。 第二次,不用再写那个origin devel了: #git commit -m"添加一个文件进入Devel" README.md [devel ee8bd06] 添加一个文件进入Devel 1 file changed, 2 insertions(+), 2 deletions(-) #git push 对象计数中: 3, 完成. 压缩对象中: 100% (3/3), 完成. 写入对象中: 100% (3/3), 361 bytes | 0 bytes/s, 完成. Total 3 (delta 2), reused 0 (delta 0) remote: remote: To create a merge request for devel, visit: remote: http://gitlab.xxx.com.cn/devel/iot.lewo.com/merge_requests/new?merge_request%5Bsource_branch%5D=devel remote: To git@gitlab.xxx.com.cn:devel/iot.lewo.com.git 559a6b3..ee8bd06 devel -> devel git提交时,出现问题如下: #git push origin/devel warning: push.default 尚未设置,它的默认值在 Git 2.0 已从 'matching' 变更为 'simple'。若要不再显示本信息并保持传统习惯,进行如下设置: git config --global push.default matching 若要不再显示本信息并从现在开始采用新的使用习惯,设置: git config --global push.default simple 当 push.default 设置为 'matching' 后,git 将推送和远程同名的所有 本地分支。 从 Git 2.0 开始,Git 默认采用更为保守的 'simple' 模式,只推送当前 分支到远程关联的同名分支,即 'git push' 推送当前分支。 参见 'git help config' 并查找 'push.default' 以获取更多信息。 ('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git, 为保持兼容,请用 'current' 代替 'simple') fatal: 'origin/devel' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. Generated by Jackxiang's Bo-blog 2.1.1 Release