Git远程操作的正确姿势

git clone
远程操作的第一步,通常需要从远程主机克隆一个版本库
git clone <版本库地址>
例如:git clone https://github.com/jquerydd/jquery.git
该命令会在本地生成一个与远程主机版本库同名的目录,如果要指定不同的名称,如下
git clone <版本库地址> <本地新名称>
这里写图片描述
git clone支持多种协议,具体见下图
这里写图片描述
通常来说,Git协议下载速度最快,SSH协议用于需要用户认证的场合

git remote
为了便于管理,Git要求每个主机都必须指定一个主机名,git remote命令就用于管理主机名
不带选项的时候,git remote命令列出所有远程主机,使用-v选项,可以查看远程主机的网址
这里写图片描述
上图表示,当前只有一台远程主机origin,以及他的地址
克隆版本库的时候,所使用的远程主机自动被Git命名为origin,如果想使用其他主机名,需要git clone命令加上-o选项
这里写图片描述

git remote show <主机名> 可以查看该主机的详细信息

这里写图片描述

其他的命令,代表的意思很清晰:

git remote add <主机名> <网址>
git remote rm <主机名>
git remote rename <原主机名> <新主机名>

git fetch
一旦远程主机有了更新,也就是commit,需要将这些、跟新取回本地,这个时候就要用到git fetch
git fetch <远程主机名> 表示将某个远程主机的更新全部取回本地
而且,还可以指定分支名称,来取回特定分支的跟新,比如我们只想取回master分支的更新

git fetch origin master

所取回的更新,在本地主机上要用“远程主机名/分支名”的形式读取,如origin/master

git branch -r 可以查看远程分支
git branch -a 可以查看所有分支

这里写图片描述
上图中的绿色master前有一个星号,代表现在我们位于master分支

新建分支: git branch v1.0.0
提交分支: git push origin v1.0.0
切换分支:  git checkout v1.0.0
删除本地分支:  git branch -d v1.0.0
删除远程分支:  git push origin :v1.0.0

这里写图片描述
git pull
git pull命令的作用是取回远程主机某个分支的更新,在于本地的指定分支合并,完整格式如下
git pull <远程主机名> <远程分支名>:<本地分支名>
例如,如果你要取回origin主机的v1.0分支,与本地的master分支合并,需要写成这样:

git pull origin next:master

如果是与当前分支合并,则冒号后可省略:

git pull origin next

这里多说一句,在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动”追踪”origin/master分支。
Git也允许手动建立追踪关系:

git branch --set-upstream master origin/next

上面的命令指定master分支追踪origin/next分支
如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名:

git pull origin

如果当前分支只有一个追踪分支,连远程主机名都可以省略:git pull

git push
git push命令用来将本地分支的跟新推送到远程主机

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

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

git push origin master

上面的命令表示:将本地的master分支推送到origin主机的master分支,如果后者不存在,则会被新建
如果当前分支和远程分支之间存在追踪关系,则本地分支和远程分支都可以省略

git push origin

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

git push

如果当前分支与多个主机存在追踪关系,则可以使用-u选项制定一个默认主机,这样后面就可以不加任何蚕食使用git push
最后,git push不能直接推送tags,除非使用-tags选项

git push origin --tags
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值