Mat*_*kin 2 git git-push git-config
有什么区别:
$ git remote add origin git@github.com:yourname/yourproject.git
$ git config remote.origin.push refs/heads/master:refs/heads/master
$ git push
Run Code Online (Sandbox Code Playgroud)
和:
$ git remote add origin git@github.com:yourname/yourproject.git
$ git push origin master -u
Run Code Online (Sandbox Code Playgroud)
第二个版本是否比第一个版本更新更短,还是有其他差异?
从Git 1.7.0开始,您可以使用该--set-upstream选项git push.根据git push手册:
Run Code Online (Sandbox Code Playgroud)-u, --set-upstream For every branch that is up to date or successfully pushed, add upstream (tracking) reference, used by argument-less git-pull(1) and other commands. For more information, see branch.<name>.merge in git-config(1).
不,这些是非常不同的.第一个配置设置,remote.<name>.push如果未指定其他refspec,则设置推送的默认refspec.默认情况下,git push origin只要具有该名称的分支已存在于远程上,do 就会将每个分支推送到具有匹配名称的分支.做完之后:
git config remote.origin.push refs/heads/master:refs/heads/master
Run Code Online (Sandbox Code Playgroud)
......你会发现,git push origin只会推master到master.
git push -u origin master如果推送成功,则引用的另一个命令设置两个不同的配置选项:
branch.master.remote 被设置为 originbranch.master.merge 被设置为 refs/heads/master这些本质上说,master在origin应该算是你的默认的"上游"分支master的分支.其最明显的效果是提供了一个默认的动作git pull,当你上master,但在其他各种情况,如在顶部提供有帮助的消息也被使用git status,它告诉你在哪里master进行比较origin/master.这些设置不会,但是,用于通知的默认行为git push,并git push origin除非你也设置配置选项push.default,以tracking(或upstream最近的版本).
因此,作为一个非常近似的摘要,设置remote.<name>.push会影响默认操作git push,而git push -u origin master设置通常只影响操作的配置选项git pull.
| 归档时间: |
|
| 查看次数: |
3143 次 |
| 最近记录: |