一文掌握git push命令

 更新时间:2023年01月19日 09:24:47   作者:LoongTech  
git push就是将本地的更新推送到远程别名,这篇文章主要介绍了git push命令详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

git push命令

以上列举的参考文献将的非常棒,是目前我见到的写的最完整的。

git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。

git push <远程主机名> <本地分支名>:<远程分支名>

注意:这里的:前后是必须没有空格的。

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

git push origin master

上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。

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

#慎用!删除远程仓库的分支
git push origin :master
# 等同于
git push origin --delete master

上面命令表示删除origin主机的master分支。

如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。

 git push origin

上面命令表示,将当前分支推送到origin主机的对应分支。

如果当前分支只有一个追踪分支,那么主机名都可以省略。

git push

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

git push -u origin master

上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

参考文献:http://www.cnblogs.com/dyh-air/p/9257237.html

PS:git push 命令详解

对 git push 命令一直都是处于一知半解的状态,就知道它是将本地的更改推送到远程别名里面,

直到最近通过一写练习才更加清晰了一点

git push 顾名思义就是将本地的更新推送到远程别名
它有几个常见的选项,接下来一一对它们讲解

假如我们现在只有一个远程别名(remote): origin

1. 无参数,直接 git push

git push 这种情况 git 会检查当前所在的分支有没有设置 upstream branch, 也就是该分支对应的上游分支,也就是对应的远程别名(remote)里面的分支。

  • 如果有,则直接推送当前分支的历史版本到远程别名里面对应的分支。此时 git 只推送该分支的更新,不考虑其他分支。
  • 如果没有(新建立的分支),则会直接报错:The current branch d has no upstream branch. 此时只能参考以下的情况做处理

2. git push -u origin 当前分支名 or git push --set-upstream origin abc

新建立的分支第一次直接 push 时会报错,是我们还没有设置当前分支对应的远程别名里面的分支,可以使用的命令 git push --set-upstream origin abc,这样就可以将本地的 abc 分支(假设本地分支叫做abc)推送到远程别名里面的 abc 分支,如果远程别名里面没有 abc 这个分支,则会自动建立一个 abc 分支并接收推送的内容;并且为当前的分支设置了 upstream branch, 以后再推送该分支就可以直接执行 git push 了(当然也只是push当前所在的本地分支,不会处理其他本地分支)。如果以后想要修改 upstream branch, 可以使用 git branch --set-upstream-to origin/abc,设置好了以后该分支也可以直接执行 git push 向远程别名的响应分支推送了,但是修改 upstream branch 有个问题,就是比如现在是 abc 分支,一般来讲肯定也是推送到远程别名里面的 abc 分支,本地分支和远程别名的分支一一对应,修改之后比如 git branch --set-upstream-to origin/efg 后,以后再 git push 时 git 就会报错:The upstream branch of your current branch does not match the name of your current branch. 就是远程的分支名和当前的分支名不匹配,并且提示如果推送到你想要的分支。

3. git push --all

直接推送所有本地分支,那些没有设置 upstream branch 的会自动创建响应的远程别名分支,然后接收推送的内容,但是没有为本地分支设置远程别名的分支

到此这篇关于git push命令详解的文章就介绍到这了,更多相关git push命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 将Git存储库克隆到本地IntelliJ IDEA项目中的详细教程

    将Git存储库克隆到本地IntelliJ IDEA项目中的详细教程

    这篇文章主要介绍了将Git存储库克隆到本地IntelliJ IDEA项目中的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 程序员学英语的一个方法

    程序员学英语的一个方法

    这篇文章主要介绍了程序员学英语的一个方法,程序员学习英语是很有必要的,只要坚持下去,相信必有收获,需要的朋友可以参考下
    2014-08-08
  • Git建立本地仓库并上传到Gitee的详细步骤

    Git建立本地仓库并上传到Gitee的详细步骤

    这篇文章主要介绍了Git建立本地仓库并上传到Gitee,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Git恢复之前版本的两种方法reset、revert(图文详解)

    Git恢复之前版本的两种方法reset、revert(图文详解)

    这篇文章主要介绍了Git恢复之前版本的两种方法reset、revert(图文详解),文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 解决MAC系统升级后虚拟机黑屏问题

    解决MAC系统升级后虚拟机黑屏问题

    相信大家都抱着尝鲜的心理,更新了MacOS Catalina 。在更新之后,打开VMware Fusion使用中发现,虚拟机处于黑屏状态,无法看到虚拟机的屏幕,在各种尝试之后,找到一种正确的解决办法
    2021-09-09
  • 优秀程序猿调试技巧Debug与Release

    优秀程序猿调试技巧Debug与Release

    这篇文章主要为大家介绍了程序员养成金手指了解优秀程序猿的调试技巧Debug与Release,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • idea项目全部类都爆红但能正常启动问题的解决办法

    idea项目全部类都爆红但能正常启动问题的解决办法

    这篇文章主要介绍了idea项目全部类都爆红但能正常启动问题的解决办法,当IDEA项目突然全部爆红,主启动类无法识别时,可尝试文中的两种方法修复,需要的朋友可以参考下
    2024-10-10
  • 微信小程序搭建及解决登录失败问题

    微信小程序搭建及解决登录失败问题

    这篇文章主要介绍了微信小程序搭建及解决登录失败问题的相关资料,需要的朋友可以参考下
    2016-09-09
  • idea中实用的git操作问题小结(撤回commit,撤回push、暂存区使用)

    idea中实用的git操作问题小结(撤回commit,撤回push、暂存区使用)

    我们在开发过程中经常遇到commit代码后,发现还有需要修改的地方又不想多次commit,此时如果不想敲git命令,可以利用idea实现commit撤回,下面给大家分享idea中实用的git操作问题小结,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • vscode扩展代码定位实现步骤详解

    vscode扩展代码定位实现步骤详解

    这篇文章主要为大家介绍了vscode扩展代码定位实现步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论