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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • -bash: ls: command not found 或ifconfig ,su 等命令不能使用

    -bash: ls: command not found 或ifconfig ,su 等命令不能使用

    2021年7月18日
    58
  • 鲲鹏920服务器_华为鲲鹏服务器

    鲲鹏920服务器_华为鲲鹏服务器安装任意Mysql版本都适用配置本地yum源备份原yum库文件并将新配置写入repo文件。#mv/etc/yum.repos.d//etc/yum.repos.d-bak#mkdir/etc/yum.repos.d#echo-e”[kunpeng]\nname=CentOS-kunpeng-Base-mirrors.huaweicloud.com\nbaseurl=https:…

    2022年10月16日
    5
  • HttpCanary下载_网页自我介绍模板

    HttpCanary下载_网页自我介绍模板前言首先,我们无论学习哪个框架,都要带着问题,带着思考去学习思考1:HttpRunner是什么?思考2:HttpRunner的设计模式是什么?思考3:为什么我们要学习HttpRunner?他的

    2022年7月30日
    8
  • 自己动手编写CSDN博客备份工具-blogspider

    自己动手编写CSDN博客备份工具-blogspider作者:gzshun.原创作品,转载请标明出处!来源:http://blog.csdn.net/gzshun网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。网络爬虫最重要的任务,就是从互联网搜索出需要的信息,将网页抓取下来并分析,很多搜索引擎,比如百度,谷歌,后台

    2022年7月25日
    11
  • sql语言是编程语言吗_sql属于编程语言吗

    sql语言是编程语言吗_sql属于编程语言吗1.SQL操作的是数据   SQL是数据库的查询语言,因而可以对系统数据产生持久化影响。在常规编程中,一个错误通常只会造成程序的crash或bug,修改并重新调试往往就可以了;而在SQL中,一个不小心就可能造成系统数据的破坏和丢失。常常有新手执行SQL时,不小心遗漏了DELETE或UPDATE语句中的WHERE子句,这往往是很大的麻烦。   因此,学习和使用SQL,一开始应该养成两个习惯:

    2022年10月5日
    6
  • python3 typing_python 高级

    python3 typing_python 高级typing介绍Python是一门弱类型的语言,很多时候我们可能不清楚函数参数的类型或者返回值的类型,这样会导致我们在写完代码一段时间后回过头再看代码,忘记了自己写的函数需要传什么类型的参数,返回什

    2022年7月30日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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