git clone与git pull区别

git clone与git pull区别原地址最近一直焦虑换工作与面试,自然面试过程中也被问到了很多问题,在一家公司中,被问到了git相关的知识。面试官提出了gitclone与gitpull有什么区别。由于自己对git的掌握情况不是特别深入,感觉瞬间被问蒙圈一样。后来,查了相关的文档,看了一些文章,自己有了一丁点的理解,觉得应该…

大家好,又见面了,我是你们的朋友全栈君。

原地址

最近一直焦虑换工作与面试,自然面试过程中也被问到了很多问题,在一家公司中,被问到了git相关的知识。

面试官提出了git clone 与 git pull有什么区别。由于自己对git的掌握情况不是特别深入,感觉瞬间被问蒙圈一样。后来,查了相关的文档,看了一些文章,自己有了一丁点的理解,觉得应该写下来。

从字面意思也可以理解,都是往下拉代码,git clone是克隆,git pull 是拉。

但是,也有区别:

从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(clone是将一个库复制到你的本地,是一个本地从无到有的过程)

从远程服务器获取到一个branch分支的更新到本地,并更新本地库,叫做pull.(pull是指同步一个在你本地有版本的库内容更新的部分到你的本地库)

git pull相当于是从远程获取最新版本并merge(合并)到本地     git pull = git fetch + git merge,git fetch更安全一些

git clone是远程操作的第一步,通常是从远程主机克隆一个版本库,eg:

git clone ##   该命令会在本地主机生成一个目录,与远程主机的版本库同名,如果要是制定不同的目录名,可以将目录名作为git clone 命令的第二个参数。eg: git clone ##   该命令会在本地主机生成一个目录,与远程主机的版本库同名,如果要是制定不同的目录名,可以将目录名作为git clone 命令的第二个参数。eg:
git clone #版本库网址# #本地目录名#     git clone支持多种协议,除了http(s),还有ssh,git,本地协议。

git pull 作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。eg:

git pull ##远程主机(origin) #远程分之(next)#:#本地分之(master)# 
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。eg:
git pull ##远程主机(origin) #远程分之(next)#:#本地分之(master)# 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。eg:

git pull #远程主机(origin)#  #远程分之(next)# 相当于1.

gitfetchorigin2. g i t f e t c h o r i g i n 2.
git merge origin/next 

在某些场合,git会自动在本地和远程分之之间,建立一种追踪关系。比如,在git clone 的时候,所有本地分之默认与远程主机的同名分之,建立追踪关系,也就是,本地的master分之自动“追踪”origin/master分之。git 可以手动建立追踪, git branch –set-upstream master origin/next   —>指定master分之追踪到origin/next。

如果当前分支只有一个追踪分支,连远程主机名都可以省略。$ git pull  表示当前分之自动与唯一一个追踪分之进行合并。

参考网址:http://www.yiibai.com/git/home.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162559.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • netstat输出内容详解

    netstat输出内容详解netstat输出内容详解1.列出所有tcp与udp端口netstat-tulnpActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Progra…

  • apache做负载均衡_apache负载均衡配置

    apache做负载均衡_apache负载均衡配置测试都是在本地环境进行的。1、安装Apache服务下载:https://www.apachehaus.com/cgi-bin/download.plx?dli=hBjUYRWeZVjTEt2LOhlTykkVOpkVFd1aVpXQw0UU2、解压解压目录:E:\dev\Apache24。3、配置环境变量把路径【E:\dev\Apache24\bin】追加到环境变量PATH。4、配置Apache用文本编辑器配置文件:E:\dev\Apache24\conf\httpd.c

  • 微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)

    微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)微信公众号主要有以下几个步骤微信公众号的通讯机制微信公众号简介1.注册微信公众号2.注册测试公众号3.搭建微信本地调试环境1)下载客户端natapp:2)安装natapp:4.微信公众号接入(校验签名)第1步中服务器配置包含服务器地址(URL)、令牌(Token)和消息加解密密钥(EncodingAESKey)。第2步,验证服务器地址的有效性,当点击“提交”…

  • 10款常用Java测试工具

    10款常用Java测试工具 10款常用Java测试工具1.美国Segue公司的Silk系列产品   Segue公司一直专注于软件质量优化领域。在Segue的产品套件中,拥有业内最强劲且最容易使用的、用于企业应用测试、调优和监测的自动化工具,能够帮助用户保障应用在其生命周期内的可靠性和性能。  (1)SilkPerformer——企业级性能测试工具  企业级自动化测试工具能够支持多种系统,如Java、….

    2022年10月17日
  • hibernate执行原生sql_接口定义方法

    hibernate执行原生sql_接口定义方法Hibernate之Query接口的uniqueResult方法

  • 图片批量重命名(python实现)「建议收藏」

    图片批量重命名(python实现)「建议收藏」自己在采集数据时,有时候的数据命名方式并不满足一些开源程序的条件,如果我们可以自己随意去改变图像的命名,问题就变得很容易解决;一、代码importospath=”/media/hltt3838/DATA/dida_data/20210421_camera_IMU/dataset-dir/cam0″filelist=os.listdir(path)count=1403636580513555456forfileinfilelist:print(file)for

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号