深入理解git push
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相关推荐
- Git系列:git push -u origin master命令理解
Git系列:git push -u origin master命令理解 git push -u origin master git push -u origin master 相当于 git bran ...
- 理解Git的设计思想,详解git文件夹,以及详解add、commit、push,fetch、pull、merge指令
在项目目录执行git init,此目录将纳入git管理,git将会自动生成.git文件夹,用以记录git配置(.git/config)和版本信息(commit-id)和文件集合.下面是.git文件夹的 ...
- Git 常用操作(5)- git clone/git checkout -b/git diff/git push/git pull
1. git clone--获取远程仓库 当 git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容.它只会获取数据然后 让你自己合并. 然而,有一个命令叫作 git p ...
- “ u”到底是做什么的? “ git push -u原始主机”与“ git push原始主机”
本文翻译自:What exactly does the "u" do? "git push -u origin master" vs "git pus ...
- “ git commit”和“ git push”之间有什么区别?
在我正在学习的Git教程中, git commit用于存储您所做的更改. git push什么用? #1楼 git commit记录您对本地存储库的更改. git push使用本地更改更新 远程存储库 ...
- a commit git 参数是什么意思_深入理解Git - 一切皆commit
在对 git 有了基本理解和知道常规操作之后,如何对 git 的使用有进一步的理解? 一切皆 commit 或许是个不错的理解思路. 本文将从『一切皆 commit 』的角度,通过 git 中常见的名 ...
- 理解git结构与简单操作(四)合并分支的方法与策略
接上节,此时的dev分支与master分支的进度就不一样了,所以需要将dev分支与master分支同步.这里需要的就是合并分支的操作,大家应该都知道用git merge或者git rebase. gi ...
- 真正理解 git fetch, git pull 以及 FETCH_HEAD
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 真正理解 git fetch, git pull 要讲清楚git fetch,git pull,必须 ...
- Git初学札记(四)————Git Push的常规操作与Pull冲突解决
目录 引言 Git命令行的远程Push EGit Push操作中的冲突问题 同步 工作区与本地库同步 工作区与远程库同步 图标 重点 引言 在团队开发当中,Git Push是多人协作环节中的最重要的一 ...
最新文章
- python中一些实用而容易被忽视不常用的库
- Topcoder SRM570 900 CurvyonRails
- 打开wmware没反应_没呼吸没脉搏,溺水女孩危在旦夕!预产期只差9天的她挺着大肚子出手相助...
- 高性能I/O设计模式
- python自定义切片_自定义Python切片,请指教
- linux 邮件附件 中文,linux bash下通过mailx发送中文内容显示为附件的解决
- Resource is out of sync with the file system解决办法
- dgl._ffi.base.DGLError: Cannot assign node feature “n_feat“ on device cuda:0 to a graph on device
- R语言及Rstudio入门小建议(一)
- 企业如何去选择适合的内网安全管理软件?
- 23种设计模式设计原则
- 射线法判断点在多边形内适用范围_电力行业NDT无损检测技术应用大盘点!
- amoeba实现mysql主从读写分离_MySQL+Amoeba实现数据库主从复制和读写分离
- 西湖大学张岳老师NLP课程笔记1 Introduction
- 深度解析中国养老产业发展前景
- 输入苹果的单价和购买的数量,计算总价,分别显示总价的整数部分和四舍五入后的整数部分
- VR分享会邀请函 | 如何利用VR影像创造商业应用新价值?
- 密码学–数字签名Digital Signature五种分类
- grep检索关键字的命令_文件中查找关键字“ ”命令 grep
- java request reponse 乱码的问题解决
热门文章
- 电脑使用android手机摄像头,电脑怎么使用安卓手机摄像头 电脑使用手机摄像头的方法-电脑教程...
- Dell 灵越7370 装机过程遇到硬盘枷锁 bitlocker锁解决方法
- 苹果电脑如何打印文件
- Avira Free Antivirus 小红伞免费杀毒软件广告去除工具
- android studio调用python_Android Studio调用python运行thensorflow模型--CLE方案实现
- visual studio 2015下载地址
- 计算机考研就业率,21考研同学需谨慎,三个专业就业率持续走低,包括热门计算机专业...
- java毕业设计开题报告怎么写 如何写好一篇论文开题报告
- 关于我国计算机软件著作权保护的调研报告,我国计算机软件著作权保护问题研究...
- 苹果电脑基于Android File Transfer for mac连接Android设备