Gitpush常见⽤法
Git push
在使⽤git commit命令将修改从暂存区提交到本地版本库后,只剩下最后⼀步将本地版本库的分⽀推送到远程服务器上对应的分⽀了,如果不清楚版本库的构成,可以查看我的另⼀篇,git 仓库的基本结构。
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常用指令git push origin HEAD:refs/for/master
1.git push <remote 名字> <;本地分⽀的名字> : <;远程库的名字>
git push 肯定是推送
origin : 是远程的库的名字
HEAD: 是⼀个特别的指针,它是⼀个指向你正在⼯作的本地分⽀的指针,可以把它当做本地分⽀的别名,git这样就可以知道你⼯作在哪个分⽀
refs/for :意义在于我们提交代码到服务器之后是需要经过code review 之后才能进⾏merge的
refs/heads 不需要
通过git status命令可以查看当前⼯作区和暂存区⽂件的状态。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。