文章目录
*
–
+ 序
+ 格式 (很重要)
+ 常用写法
+
* 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/
承诺所有资源不收任何费用,没有任何套路!如果觉得有用希望可以点个赞+评论,感谢支持!
Original: https://blog.csdn.net/chaogu94/article/details/111057046
Author: 编程开发分享者
Title: git push的详细使用
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/657320/
转载文章受原作者版权保护。转载请注明原作者出处!