git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,

第一个master是本地分支名,第二个master是远程分支名。

1.1 git push origin master

如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

1.2 git push origin :refs/for/master

  如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master

1.3 git push origin

如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支

1.4 git push

如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名

1.5 git push 的其他命令

这几个常见的用法已足以满足我们日常开发的使用了,还有几个扩展的用法,如下:

  (1) git push -u origin master 如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push,

   不带任何参数的git push,默认只推送当前分支,这叫做simple方式,还有一种matching方式,会推送所有有对应的远程分支的本地分支, Git 2.0之前默认使用matching,现在改为simple方式

   如果想更改设置,可以使用git config命令。git config –global push.default matching OR git config –global push.default simple;可以使用git config -l 查看配置

  (2) git push –all origin 当遇到这种情况就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要 -all 选项

  (3) git push –force origin git push的时候需要本地先git pull更新到跟服务器版本一致,如果本地版本库比远程服务器上的低,那么一般会提示你git pull更新,如果一定要提交,那么可以使用这个命令。

  (4) git push origin –tags //git push 的时候不会推送标签,如果一定要推送标签的话那么可以使用这个命令

1.6 关于 refs/for

  refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要

深入理解git push相关推荐

  1. Git系列:git push -u origin master命令理解

    Git系列:git push -u origin master命令理解 git push -u origin master git push -u origin master 相当于 git bran ...

  2. 理解Git的设计思想,详解git文件夹,以及详解add、commit、push,fetch、pull、merge指令

    在项目目录执行git init,此目录将纳入git管理,git将会自动生成.git文件夹,用以记录git配置(.git/config)和版本信息(commit-id)和文件集合.下面是.git文件夹的 ...

  3. Git 常用操作(5)- git clone/git checkout -b/git diff/git push/git pull

    1. git clone--获取远程仓库 当 git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容.它只会获取数据然后 让你自己合并. 然而,有一个命令叫作 git p ...

  4. “ u”到底是做什么的? “ git push -u原始主机”与“ git push原始主机”

    本文翻译自:What exactly does the "u" do? "git push -u origin master" vs "git pus ...

  5. “ git commit”和“ git push”之间有什么区别?

    在我正在学习的Git教程中, git commit用于存储您所做的更改. git push什么用? #1楼 git commit记录您对本地存储库的更改. git push使用本地更改更新 远程存储库 ...

  6. a commit git 参数是什么意思_深入理解Git - 一切皆commit

    在对 git 有了基本理解和知道常规操作之后,如何对 git 的使用有进一步的理解? 一切皆 commit 或许是个不错的理解思路. 本文将从『一切皆 commit 』的角度,通过 git 中常见的名 ...

  7. 理解git结构与简单操作(四)合并分支的方法与策略

    接上节,此时的dev分支与master分支的进度就不一样了,所以需要将dev分支与master分支同步.这里需要的就是合并分支的操作,大家应该都知道用git merge或者git rebase. gi ...

  8. 真正理解 git fetch, git pull 以及 FETCH_HEAD

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 真正理解 git fetch, git pull 要讲清楚git fetch,git pull,必须 ...

  9. Git初学札记(四)————Git Push的常规操作与Pull冲突解决

    目录 引言 Git命令行的远程Push EGit Push操作中的冲突问题 同步 工作区与本地库同步 工作区与远程库同步 图标 重点 引言 在团队开发当中,Git Push是多人协作环节中的最重要的一 ...

最新文章

  1. python中一些实用而容易被忽视不常用的库
  2. Topcoder SRM570 900 CurvyonRails
  3. 打开wmware没反应_没呼吸没脉搏,溺水女孩危在旦夕!预产期只差9天的她挺着大肚子出手相助...
  4. 高性能I/O设计模式
  5. python自定义切片_自定义Python切片,请指教
  6. linux 邮件附件 中文,linux bash下通过mailx发送中文内容显示为附件的解决
  7. Resource is out of sync with the file system解决办法
  8. dgl._ffi.base.DGLError: Cannot assign node feature “n_feat“ on device cuda:0 to a graph on device
  9. R语言及Rstudio入门小建议(一)
  10. 企业如何去选择适合的内网安全管理软件?
  11. 23种设计模式设计原则
  12. 射线法判断点在多边形内适用范围_电力行业NDT无损检测技术应用大盘点!
  13. amoeba实现mysql主从读写分离_MySQL+Amoeba实现数据库主从复制和读写分离
  14. 西湖大学张岳老师NLP课程笔记1 Introduction
  15. 深度解析中国养老产业发展前景
  16. 输入苹果的单价和购买的数量,计算总价,分别显示总价的整数部分和四舍五入后的整数部分
  17. VR分享会邀请函 | 如何利用VR影像创造商业应用新价值?
  18. 密码学–数字签名Digital Signature五种分类
  19. grep检索关键字的命令_文件中查找关键字“ ”命令 grep
  20. java request reponse 乱码的问题解决

热门文章

  1. 电脑使用android手机摄像头,电脑怎么使用安卓手机摄像头 电脑使用手机摄像头的方法-电脑教程...
  2. Dell 灵越7370 装机过程遇到硬盘枷锁 bitlocker锁解决方法
  3. 苹果电脑如何打印文件
  4. Avira Free Antivirus 小红伞免费杀毒软件广告去除工具
  5. android studio调用python_Android Studio调用python运行thensorflow模型--CLE方案实现
  6. visual studio 2015下载地址
  7. 计算机考研就业率,21考研同学需谨慎,三个专业就业率持续走低,包括热门计算机专业...
  8. java毕业设计开题报告怎么写 如何写好一篇论文开题报告
  9. 关于我国计算机软件著作权保护的调研报告,我国计算机软件著作权保护问题研究...
  10. 苹果电脑基于Android File Transfer for mac连接Android设备