git push的详细使用
文章目录
- 序
- 格式 (很重要)
- 常用写法
- 1. 正常写法
- 2.省略:<远程分支名>
- 3.省略<远程主机名>和:<远程分支名>
- 4.省略<远程主机名> <本地分支名>:<远程分支名>
- 小福利
序
在使用git push之前,我们最起码要知道本地和远程的概念,以及他们的关系。本地分为工作目录、暂存区和本地仓库,远程可以有很多仓库,也叫作主机。我们只有将修改后的代码commit到本地仓库,才能使用push命令推送到远程指定的主机中。
格式 (很重要)
push
命令的作用是将本地当前分支的代码推送到远程指定的分支上,在多人协作中,小组成员就能在远程主机中看到自己修改的代码了。命令的格式如下:
git push <远程主机名> <本地分支名>:<远程分支名>
牢记格式很重要,很多初学者没有添加后面的参数,使用git push
也能完成推送功能,但其实省略参数只能在特定的环境中生效,恰巧你当时的环境正合适。如果换了分支或者远程主机,就会导致很麻烦的问题。命令格式也很好记,可以理解为,使用git push
命令将<本地分支名>
的代码推送到<远程主机名>
中的<远程分支名>
上。
<远程主机名>
:指的是你想要推送到哪个远程主机中,在我们克隆一个项目的时候,git会自动帮我们把远程主机起名为origin
,一般情况下是不会去修改这个名字的。我们可以使用remote
命令来添加多个远程主机,那么什么时候会添加多态远程主机呢?感兴趣可以看这篇文章:还没有写<本地分支名>
:这个很好解释,就是你本地分支的名字,如果对git分支还不了解分支,可以看这篇文章:还没有写。可以使用命令git branch
来查看本地都有哪些分支,结果如下图,意思是我本机一共有两个分支:master和dev,master
分支前面加了*
号,表示当前处于master
分支。
<远程分支名>
:指的是远程主机中的分支名,如果远程主机没有这个分支,则会新创建一个。
常用写法
有几种很常见的push操作,在这里列出来
1. 正常写法
填写所有的参数,这么写比较清晰明了,不容易弄混,适合<本地分支名>
和<远程分支名>
不一样的情况。举个栗子:
git push origin dev:test
意思是将本地的dev
分支上的代码推送到远程主机名为origin
中test
的分支上。如果远程的test
分支不存在,则会被创建,这也是一种创建远程分支的办法。
2.省略:<远程分支名>
如果本地分支名和远程分支名一样的情况下,可以省略:<远程分支名>
。如果远程主机中不存在该分支,那么会被创建。我们就可以使用命令:
git push origin dev
来代替
git push origin dev:dev
3.省略<远程主机名>和:<远程分支名>
如果本地分支已经跟远程分支建立了追踪关系,那么可以省略<远程主机名>
和:<远程分支名>
。
使用git branch -vv
命令,可以查看本地分支跟远程分支是否存在追踪关系,如下图所示,本地dev
分支跟远程origin/dev
分支存在追踪关系,本地master
分支跟远程origin/master
分支有追踪关系。
此时可以看到我们当前处于master
分支,因此就可以使用命令:
git push origin
来代替:
git push origin master:master
如果当前分支没有追踪关系的远程分支会出现什么结果呢?我们来创建一个新的分支,并将其设置为当前分支。
使用命令git checkout -b stt
创建一个新的分支stt
,参数-b
的意思是将新创建的分支设置为当前分支。然后使用git push origin
看能不能推送到远程。结果如下图:
我们发现出现一个fatel
错误,提示说找不到上游的分支,意思就是远程没有与当前分支对应的追踪关系,需要用命令git push --set-upstream origin stt
先建立关系才行。输入这条命令之后发现,git会将本地stt
分支推送到了远程的stt
分支上,并建立了两个的追踪关系。
4.省略<远程主机名> <本地分支名>:<远程分支名>
在之前的命令中,我们都会添加<远程主机名>
来指定要推送到哪一台主机上,但如果连主机名都不想写,可以吗?当然可以,我们只需要保证本地仓库只跟一台远程主机有关联即可。其实我们在正常的开发中,远程主机确实只有一个,那就是我们克隆的远程项目的主机。如果不使用特殊的操作,根本用不着跟其他主机建立联系。
假如我们当前的分支是在dev下面,所以我们就可以通过命令
git push
来代替命令:
git push origin dev:dev
假如后来我们新增了一台或者多台远程主机,主机2、主机3、主机4…等等,那么在使用push
命令的时候就必须要加上<远程主机名>
这个参数了
以上就是所有关于git push
命令的详解
小福利
海量编程资源:https://shimo.im/docs/0l3NVZX6l6tB7D3R/
承诺所有资源不收任何费用,没有任何套路!如果觉得有用希望可以点个赞+评论,感谢支持!
git push的详细使用相关推荐
- git pull git push的详细使用
git pull & git push的详细使用 git pull 常用 pull意为拉,这里引申为拉取代码. 在Git命令中使用pull,会将你的远程代码拉取到本地并进行合并 格式: git ...
- git branch的详细使用,10个常见用法
序 branch命令主要用来处理跟分支有关系的功能,比如创建分支.删除分支.查看本地分支.查看远程分支等. 常用命令 1.查看本地分支 git branch 如果不添加任何参数,则代表显示本地所有分支 ...
- git push 的符号笔有什么用_Git 标签(tag)作用、分支区别及常用命令
Git 跟其它版本控制系统一样,可以对某一时间点上的版本打上标签.在做版本发布的时候经常会用到.尽管 Git 只实现了一种标签对象,但是有两种基本的标签类型,通常称为轻量级的(lightweight) ...
- git指令快捷 idea_IDEA+Git+Gitlab使用详细教程
GitLab 安装踩坑 502错误码和访问卡顿解决办法 Gitlab对内存的要求高,我的服务器Centos 7+2核心+2G内存,频繁报502错误,访问也很卡.原因可能是可用内存太少. # free ...
- 简单明了 - Git 使用超详细教程
见:http://www.admin10000.com/document/5374.html 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? S ...
- Git初学札记(四)————Git Push的常规操作与Pull冲突解决
目录 引言 Git命令行的远程Push EGit Push操作中的冲突问题 同步 工作区与本地库同步 工作区与远程库同步 图标 重点 引言 在团队开发当中,Git Push是多人协作环节中的最重要的一 ...
- git init、git status、git config user.name、git add、git commit、git remote、git push、git clone、git pull
1. Git本地仓库初始化 1.1 git init 功能 git init:初始化一个新本地仓库,它会在工作目录下生成一个.git的隐藏文件夹来管理仓库,千万不要删掉它. 1.2 git statu ...
- Git使用技巧--详细教程
Git使用流程及技巧 - 详细教程 前言 1. 技巧 1.1. 基础技巧 1.2. 解决Git Bash命令行的中文乱码问题 1.2.1. 情况1:内部资源乱码 1.2.2. 情况2:远程库资源乱码( ...
- git常用命令之git push使用说明
详细的命令使用说明,请参考点击打开链接 Git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. $ git push <远程主机名> <本地分 ...
最新文章
- 网页怎么在图片上添加文字_想给图片添加文字,留白,添加小印章?用手机三步搞定...
- linux tcp重传多会导致软中断在各个核很不均匀么?
- 三招让你从求职者中脱颖而出(转)
- java发送http请求的四种方式
- SpringBoot另一大神器-Actuator
- Linux JDK升级
- tiny4412初期环境搭建
- 【算法设计与分析】13 分治策略的设计思想
- 电脑系统怎么卸载驱动程序
- tensorflow图像数据处理
- 信息文档分工会在运动会象棋比赛中夺得佳绩
- JavaEE 企业级分布式高级架构师(七)MongoDB学习笔记(3)
- login.defs文件基础
- Matlab:调试成功运行失败的解决方法(附加求助!)
- Linux学习之定时任务调度
- jdk1.8的下载与安装教程
- github使用ssh方式
- 袪除疾病的心法(十三)财运篇
- 使用Java定义一个动物类
- 云计算市场价值爆发,两马之战日趋激烈
热门文章
- 关于VMWare Data Protection VDP的使用心得
- HDFS的常用操作--hdfs下的文件操作常用命令总结
- php实现视频转gif,一种在线视频转GIF的方法与流程
- 优质计算机教案,信息技术优质课教案.docx
- C - Recursive sequence (矩阵ksm)
- React 基础----1
- java梅森素数计算程序_梅森素数计算器(prime95)
- 农副产品视觉检测——大米外观品质检测仪
- 软件开发过程与项目管理(10.软件项目人员与沟通计划)
- MySQL批量导入Excel数据【超详细】