在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,这时候就需要用到git push命令了。

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

git push origin master

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

git push origin :refs/for/master 

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

git push origin

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

git push

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

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 的时候不会推送分支,如果一定要推送标签的话那么可以使用这个命令

关于 refs/for

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

Git push基础用法相关推荐

  1. Git push 常见用法

    Git push 常见用法 - 浅浅念 - 博客园Git push 在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果 ...

  2. Git:远程分支----git pull和git push命令用法介绍

    文章目录 一.git pull 1.1 git pull命令的完整格式 1.2 省略本地分支名 1.3 当前分支与远程分支存在追踪关系(可能有多个追踪关系) 1.4 当前分支只有一个追踪关系 1.5 ...

  3. git push -u的含义和用法

    在我们第一次提交git的时候: 发现上面用了这个-u参数,也没作解释,特意搜索了下这个-u的用法,加了参数-u后,以后即可直接用git push代替git push origin master $ g ...

  4. Git使用基础---各种常见错误总结

    文章目录 1.fatal: refusing to merge unrelated histories 2.Everything up-to-date-------Branch 'master' se ...

  5. git push 详解

    Git push 常见用法     Git push 在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的 ...

  6. git 基础用法梳理

    推荐大家读一下大佬的<Git 原理详解及实用指南>,简单易懂,成功让我舍弃了图形化工具,转入命令行操作. 在我们日常的项目开发中,版本管理不可避免,一般常用的版本控制系统有两个 svn 和 ...

  7. Git push的常见用法

    Git push 在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了. git push的一般形式为 git push &l ...

  8. Git 技术篇 - 同步代码到github失败,提示non-fast-forward、error: failed to push some refs to问题解决方法,git pull的用法

    因为 github 上仓库里删过一些内容,导致本地的仓库和 github 里的对不上了. 此时用 git push 操作就会报 non-fast-forward,error: failed to pu ...

  9. git基础用法(一)

    1. 初始化git仓储 git init 自己建的项目目录文件夹内 右键 打开 Git Bash Here 命令 git init 初始化一个git仓库 在当前目录会有一个.git 的隐藏目录,win ...

最新文章

  1. java char 相等_Java程序员须知Java字符串的十大问题
  2. HttpURLConnection获取页面源代码乱码问题
  3. hdu1261 JAVA
  4. ACM入门之【线性筛】
  5. python 类的知识点整理_Python opp知识整理
  6. 小弟个人学习的过程!!!
  7. python网络爬虫的流程图_基于Python的网络爬虫的设计与实现
  8. RESTful API 特点
  9. php smarty ci,CI整合Smarty,cismarty_PHP教程
  10. Python 打印字典的KEY 和 VALUE
  11. 第二章 tcp/ip
  12. netlify支持php吗,用 hugo 和 netlify 搭建blog【转】
  13. Linus 谈软件开发管理经验
  14. linux 备份文件时加上日期
  15. 常微分方程的近似计算和误差估计(2)
  16. 【asp】aspUpload
  17. 秒懂Https之CA证书与自签名证书漫谈
  18. qq群发信息显示服务器检测到,QQ昨夜出现功能异常 你以为没发出去的消息都被对方看见了...
  19. HTML中哪些标记能放在首部,HTML基本结构与常用标记
  20. 看了 web.dev 的 631 篇博客,我总结了这些内容

热门文章

  1. 数学建模微分方程导弹问题matlab求解,数学建模之微分方程(符实现例题和MATLAB源码)...
  2. KODI插件图标显示排列
  3. 双向链表list(十二)
  4. 私服上传出现Failed to transfer file ...... 400错误
  5. GNU链接脚本(06) - SECTIONS指令
  6. 2015ccpc——G - Ancient Go
  7. 乐鑫ESP32 NVS读错误BUG:nvs_get_blob
  8. Verilog实现异步FIFO(重难点)
  9. Dockerfile+elasticsearch7.12.1(配置密码及证书)+kibana7.12.1+cerebro0.83搭建集群
  10. 罗技鼠标正在连接服务器失败,说好的真爱,怎么就翻车了!失败的罗技M720入手记...