首页 > 其他分享 >七、拉取代码

七、拉取代码

时间:2023-05-14 09:03:07浏览次数:34  
标签:origin git clone 远程 master 拉取 代码 分支

七、拉取代码

1. git clone

git clone顾名思义就是将其他仓库克隆到本地,包括被clone仓库的版本变化。举个例子,你当前目录比方说是在e:/course/中,此时若想下载远程仓库,本地无需**git init,直接git clone url(url是你远程仓库的地址,直接复制就可以了)。执行git clone等待clone结束,e:/course/目录下自动会有一个.git的隐藏文件夹(如果看不见,请尝试设置隐藏文件夹可见),因为是clone来的,所以.git文件夹里存放着与远程仓库一模一样的版本库记录。clone操作是一个从无到有的克隆**操作,再次强调不需要git init初始化。

git clone的用法:

git clone <版本库的url>


git clone https://gitee.com/pythonyuan/apple-pro.git

或者使用SSH协议:

git clone [email protected]:pythonyuan/apple-pro.git

这样就会在本地生成一个目录,该目录与远程仓库同名。

However,如果本地目录不想与远程仓库同名怎么办??也有办法,将目录名作为git clone命令的第二个参数:

git clone <版本库的网址> <本地目录名>

2. git fetch 更新远程代码到本地仓库

理解 fetch 的关键, 是理解 FETCH_HEAD,FETCH_HEAD指的是: 某个branch在服务器上的最新状态’。这个列表保存在 .Git/FETCH_HEAD 文件中, 其中每一行对应于远程服务器的一个分支。当前分支指向的FETCH_HEAD, 就是这个文件第一行对应的那个分支. 一般来说, 存在两种情况:

  • 如果没有显式的指定远程分支, 则远程分支的master将作为默认的FETCH_HEAD
  • 如果指定了远程分支, 就将这个远程分支作为FETCH_HEAD

git fetch更新本地仓库的两种用法:

# 方法一
$ git fetch origin master                # 从远程的origin仓库的master分支下载代码到本地的origin maste
$ git log -p master.. origin/master      # 比较本地的仓库和远程参考的区别
$ git merge origin/master                # 把远程下载下来的代码合并到本地仓库,远程的和本地的合并
# 方法二
$ git fetch origin master:temp           # 从远程的origin仓库的master分支下载到本地并新建一个分支temp
$ git diff temp                          # 比较master分支和temp分支的不同
$ git merge temp                         # 合并temp分支到master分支
$ git branch -d temp                     # 删除temp

3. git pull

git pull是拉取远程分支更新到本地仓库的操作。比如远程仓库里的学习资料有了新内容,需要把新内容下载下来的时候,就可以使用git pull命令。事实上,git pull是相当于从远程仓库获取最新版本,然后再与本地分支merge(合并)。   即:git pull = git fetch + git merge

注:git fetch不会进行合并,执行后需要手动执行git merge合并,而git pull拉取远程分之后直接与本地分支进行合并。更准确地说,git pull是使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中。

git pull的用法:

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

举例:将远程主机origin的master分支拉取过来,与本地的branchtest分支合并。

$ git pull origin master:branchtest

如果将冒号和后面的branchtest去掉,则表示将远程origin仓库的master分支拉取下来与本地当前分支合并。以上的git pull操作如果用git fetch来表示:

$ git fetch origin master:brantest
$ git merge brantest
相比起来,git fetch更安全也更符合实际要求,因为可以在merge前,我们可以查看更新情况,根据实际情况再决定是否合并。

 

标签:origin,git,clone,远程,master,拉取,代码,分支
From: https://www.cnblogs.com/xiaohaoge/p/17398710.html

相关文章

  • 你写注释她帮你写代码
    打开邮箱看到如下邮件后还是小激动了一番,之前申请使用Copilot插件通过了英文不太好,借助微信翻译了一下,内容大概如下。......
  • Jupyter Lab安装,中文设置,自动补全与代码提示
    1.安装选择任意文件夹作为安装位置官网安装步骤:ProjectJupyter|InstallingJupyter嫌慢可以加镜像:pipinstalljupyterlab-ihttps://pypi.tuna.tsinghua.edu.cn/simple2.设置中文下载中文包:pip3installjupyterlab-language-pack-zh-CN-ihttps://pypi.tuna.tsing......
  • 算法代码大全
    链式前向星//初始化intcnt,head[maxn];structEdge{intto,w,nxt;}edge[maxn];voidinit(){for(inti=0;i<=n;i++)head[i]=-1;cnt=0;}voidadd_edge(intu,intv,intw){edge[cnt].to=v;edge[cnt].w=w;edge[cnt].nxt=head[u];head[u]......
  • Mybatis-Plus 代码生成器
    mybatis-plus-generator3.5.1以下版本:代码生成器(旧)mybatis-plus-generator3.5.1及其以上版本:代码生成器(新)本地使用mybatis-plus3.5.1版本进行测试。1.引入依赖<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId&......
  • 论坛登录与注册vue代码
    <template><div><Dialog:show="dialogConfig.show":title="dialogConfig.title":buttons="dialogConfig.buttons"width="400px":showCancel="false"@cl......
  • 爬虫案例之网易有道翻译Python代码改写
    网易有道翻译之逆向破解[Python代码改写]网址:https://fanyi.youdao.com/index.html#/***用到的知识点:(1)requests模块和session模块,发起请求什么是session对象?该对象和requests模块用法几乎一致.对于在请求过程中产生了cookie的请求如果该请求是使用session发起的,则co......
  • 基于正则化极限学习机(RELM)的数据回归预测 matlab代码
    基于正则化极限学习机(RELM)的数据回归预测matlab代码YID:9629656274934954......
  • 基于线性二项分布回归模型(logistic)的时间序列预测 matlab代码
    基于线性二项分布回归模型(logistic)的时间序列预测matlab代码ID:5129665933564536......
  • 爬虫案例之网易有道翻译JS代码复杂版
    网易有道翻译逆向案例本次案例逆向的是网易有道云翻译https://fanyi.youdao.com/index.html#/用到的知识包括requests模块及方法md5加密js代码环境的补全【一】分析网站(1)网站页面如图(2)抓包(3)分析抓到的包逐个查看每个包的标头和载荷在webtranslate这个......
  • 基于深度神经网络(DNN)的多输出数据回归预测 matlab代码,要求201
    基于深度神经网络(DNN)的多输出数据回归预测matlab代码,要求2018及以上版本只出售代码,不负责讲解ID:1429688578796154......