-
git push origin与git push -u origin master的区别
-
$ git push origin
- 上面命令表示,将当前分支推送到origin主机的对应分支。
- 如果当前分支只有一个追踪分支,那么主机名都可以省略。
-
$ git push
- 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。
-
$ git push -u origin master
- 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
- 不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。
-
-
Git 2.0 更改 push default 为‘simple’
- 如果你最近更新了 Git,你可能会在执行 git push 时看到如下消息:
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
-
Matching
- ‘matching’ 参数是 Git 1.x 的默认行为,其意是如果你执行 git push 但没有指定分支,它将 push 所有你本地的分支到远程仓库中对应匹配的分支。
-
Simple
- 而 Git 2.x 默认的是 simple,意味着执行 git push 没有指定分支时,只有当前分支会被 push 到你使用 git pull 获取的代码。
-
修改默认设置
- 从上述消息提示中的解释,我们可以修改全局配置,使之不会每次 push 的时候都进行提示。对于 matching 输入如下命令即可:
- git config --global push.default matching
- 而对于 simple ,请输入:
- git config --global push.default simple
- 从上述消息提示中的解释,我们可以修改全局配置,使之不会每次 push 的时候都进行提示。对于 matching 输入如下命令即可:
转载于:
https://www.cnblogs.com/zhouj850/p/7260558.html
https://www.oschina.net/news/45585/git-2-x-change-push-default-to-simple