git命令行学习四——本地&远程操作

6 篇文章 0 订阅
6 篇文章 0 订阅

远程仓库

Git 远程仓库相当的操作实际可以归纳为两点:向远程仓库传输数据以及从远程仓库获取数据。
操作以下指令前,要先创建好远程仓库,(gitee或者github上创建)

//查看远程仓库的信息
git remote//这个只返回远程名称,如origin
//查看更详细的远程库信息
git remote -v//会返回远程名称以及地址
//解除了本地和远程仓库的绑定关系
git remote rm origin

添加远程仓库

//rermote name:本地设置的远程仓库名,一般是origin
//remote url:远程仓库地址
git remote add <rermote name> <remote url>
git remote add origin ##############
//第一次推送提交到远程可以加上-u,将本地master分支与远程仓库中的master关联起来。后续master分支推送就不用加-u
git push -u origin master
//关联master
git branch --set-upstream-to=origin/master master

Clone

克隆远程仓库代码
克隆过来的项目代码是一般是没有node_modules文件夹的,需要用npm i(全写:install)下载所用的依赖

git clone <远程仓库地址>

练习:
执行前
在这里插入图片描述

git clone

执行后
在这里插入图片描述

远程分支

远程分支(类似origin/master等)反映了远程仓库(在你上一次拉远程代码时)的状态,在你检出时自动进入分离 HEAD 状态。
远程分支命名规范:

<remote name>/<branch name>
//git clone之后,会默认设置远程仓库名称为origin
//远程仓库名称/分支名称
origin/master

练习:
执行前
在这里插入图片描述

//origin太长,改为o,实际开发中用的origin
git checkout o/master
git commit

执行后
在这里插入图片描述
commit提交后,就分离 出HEAD 状态,当添加新的提交时 o/master 也不会更新。这是因为 远程分支只有在远程仓库中相应的分支更新了以后才会更新。
例子:
在这里插入图片描述

//在本地master分支提交一次生成C3
git commit
//切换到o/master(在C1分离出HEAD)
git checkout o/master
//提交一次,HEAD移动
git commit

fetch

从远程仓库获取数据
fetch 通常通过互联网(使用 http:// 或 git:// 协议) 与远程仓库通信。
将本地仓库中的远程分支更新成了远程仓库相应分支最新的状态。
fetch 并不会改变你本地仓库的状态。也不会修改你磁盘上的文件
练习:
执行前
在这里插入图片描述

//更新远程分支o/master,但是不更新本地master分支
git fetch

从远程仓库下载本地仓库中缺失的提交记录;更新远程分支指针( o/master)。

执行后
在这里插入图片描述
例子练习:

//更新所有远程分支,并没有改变本地仓库中的文件,只是将远程分支与远程仓库中对应的分支缺少的提交下载到本地
git fetch

在这里插入图片描述

Pull

更新远程分支代码,与本地分支分支合并
若远程仓库只有一条分支可直接使用git pull,若有多条分支则使用 git pull <远程仓库名称>/<分支名称>

执行前:
在这里插入图片描述

//更新远程分支(o/master),下载c3到本地
git fetch
//合并本地分支master和远程分支o/master(当前分支为master,将o/master合过本地master分支来)
git merge o/master
//执行完后,本地master分支就包含了远程仓库的新的更改

执行后:
在这里插入图片描述

//上面的例子也可以直接使用git pull来实现
//先更新远程分支,然后再与本地分支合并
git pull == git fetch;git merge <分支名>;

例子练习:

//方法一
git pull
//方法二
git fetch
git merge o/master

在这里插入图片描述

模拟团队提交

git fakeTeamwork:在远程仓库的 分支(默认是master)上做提交。

git fakeTeamwork <分支名> Num(提交次数)
//在远程仓库的develop分支上,做3次提交
git fakeTeamwork develop 3
//在远程仓库的master分支做一次提交
git fakeTeamwork

执行前:
在这里插入图片描述
执行后

git fakeTeamwork

在这里插入图片描述

执行前
在这里插入图片描述
执行后

git fakeTeamwork foo 3

在这里插入图片描述
例子练习:
在这里插入图片描述

//克隆仓库
git clone
//远程仓库提交两次新提交
git fakeTeamwork 2
//方法一:先更新分支再提交、合并
//更新远程分支
git fetch
//本地master提交一次
git commit
//合并分支
git merge o/master
//方法二:先提交,后用pull实现更新和合并
git commit
git pull

push

负责将本地分支的变更上传到指定的远程仓库,并在远程仓库上合并新的提交记录,然后更新本地的远程分支

//remote:远程仓库名称 branch:分支名称 
git push <remote> <branch>
git push --set-upstream <remote> <branch>//推送分支并建立关联关系
//git push --set-upstream origin develop

执行前
在这里插入图片描述
执行后

git push

在这里插入图片描述
例子练习
在这里插入图片描述

//现在commit分支上提交两次
git commit
git commit
//然后再推送到远程仓库进行更新合并,远程分支也会跟着更新
git push

推送冲突(偏离的工作)

远程仓库中的分支是最新,而本地仓库中的代码是旧,远程仓库中有更改,与本地的有冲突

执行前
在这里插入图片描述

执行后

//先更新远程分支
git fetch
//将本地分支与远程分支合并
git rebase o/master
//最后再推送到远程仓库
git push

在这里插入图片描述
执行前
在这里插入图片描述

执行后

//先更新远程分支
git fetch
//将本地分支与远程分支合并
git merge o/master
//最后再推送到远程仓库
git push

在这里插入图片描述

//前面是后面的简写
git pull == git fetch;git merge <branch>
git pull --rebase == git fetch;git rebase <branch>

执行前
在这里插入图片描述
执行后

//git fetch;git rebase o/master
git pull --rebase
git push

例子练习
在这里插入图片描述

//第一步:克隆仓库
git clone
//第二部:远程仓库提交一次
git fakeTeamwork
//第三步:本地master分支提交一次
git commit
//第四步:拉取远程仓库最新提交,并合并分支
//git fetch;git rebase o/master;
git pull --rebase
//第五步:推送班底提交到远程仓库,并更新远程分支o/master
git push
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值