一、是什么

fork

fork,英语翻译过来就是叉子,动词形式则是分叉,如下图,从左到右,一条直线变成多条直线

转到git仓库中,fork则可以代表分叉、克隆 出一个(仓库的)新拷贝

包含了原来的仓库(即upstream repository,上游仓库)所有内容,如分支、Tag、提交

如果想将你的修改合并到原项目中时,可以通过的 Pull Request 把你的提交贡献回 原仓库

clone

clone,译为克隆,它的作用是将文件从远程代码仓下载到本地,从而形成一个本地代码仓

执行clone命令后,会在当前目录下创建一个名为xxx的目录,并在这个目录下初始化一个 .git 文件夹,然后从中读取最新版本的文件的拷贝

默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来

branch

branch,译为分支,其作用简单而言就是开启另一个分支, 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线

Git 处理分支的方式十分轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷

在我们开发中,默认只有一条master分支,如下图所示:

通过git branch可以创建一个分支,但并不会自动切换到新分支中去

通过git checkout可以切换到另一个testing分支

二、如何使用

fork

当你在github发现感兴趣开源项目的时候,可以通过点击github仓库中右上角fork标识的按钮,如下图:

点击这个操作后会将这个仓库的文件、提交历史、issues和其余东西的仓库复制到自己的github仓库中,而你本地仓库是不会存在任何更改

然后你就可以通过git clone对你这个复制的远程仓库进行克隆

后续更改任何东西都可以在本地完成,如git addgit commit一系列的操作,然后通过push命令推到自己的远程仓库

如果希望对方接受你的修改,可以通过发送pull requests给对方,如果对方接受。则会将你的修改内容更新到仓库中

整体流程如下图:

clone

github中,开源项目右侧存在code按钮,点击后则会显示开源项目url信息,如下图所示:

通过git clone xxx则能完成远程项目的下载

branch

可通过git branch进行查看当前的分支状态,

如果给了--list,或者没有非选项参数,现有的分支将被列出;当前的分支将以绿色突出显示,并标有星号

以及通过git branch创建一个新的分支出来

三、区别

其三者区别如下:

  • fork 只能对代码仓进行操作,且 fork 不属于 git 的命令,通常用于代码仓托管平台的一种“操作”

  • clone 是 git 的一种命令,它的作用是将文件从远程代码仓下载到本地,从而形成一个本地代码仓

  • branch 特征与 fork 很类似,fork 得到的是一个新的、自己的代码仓,而 branch 得到的是一个代码仓的一个新分支

参考文献

  • https://git-scm.com/book/zh/v2/Git-基础-获取-Git-仓库

  • https://git-scm.com/book/zh/v2/Git-分支-分支简介

--The End--

系列正在更新:3/10

点击下方卡片解锁更多

创作不易,星标、点赞、在看 三连支持

面试官:说说Git中 fork, clone,branch这三个概念,有什么区别?相关推荐

  1. 【Redis系列】面试官:Redis中的数据已经过期,为什么还占用这内存?

    如果有面试官问Redis中的数据已经过期为什么还占用这内存? 它是因为Redis本身的过期策略和缓存淘汰机制所导致的. 说说Redis的过期策略和缓存淘汰机制 先来说说Redis的过期策略,Redis ...

  2. 面试官:Vue中组件和插件有什么区别?

    一.组件是什么 回顾一下对组件的定义: 组件就是把图形.非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式,在Vue中每一个.vue文件都可以视为一个组件 组件的优势 降低整个系统的耦合度 ...

  3. 面试官:Redis中集合数据类型的内部实现方式是什么?

    虽然已经是阳春三月,但骑着共享单车骑了这么远,还有有点冷的.我搓了搓的被冻的麻木的手,对着前台的小姐姐说:"您好,我是来面试的."小姐姐问:"您好,您叫什么名字?&quo ...

  4. Spring AOP中Pointcut,dvice 和 Advisor三个概念

    Spring  AOP中Pointcut,dvice 和 Advisor三个概念介绍 在理解了Spring的AOP后,需要重点理解的三个概念是:Pointcut    Advice   Advisor ...

  5. 【性能优化】面试官:Java中的对象和数组都是在堆上分配的吗?

    写在前面 从开始学习Java的时候,我们就接触了这样一种观点:Java中的对象是在堆上创建的,对象的引用是放在栈里的,那这个观点就真的是正确的吗?如果是正确的,那么,面试官为啥会问:"Jav ...

  6. 面试官:说说Innodb中LRU怎么做的?

    引言 某日,小编去面试(纯属瞎编),有了如下对话 面试官:"懂mysql吧,知道CPU在读硬盘上数据的时候,是怎么解决CPU和硬盘速度不一致问题么?"我:"懂啊,mysq ...

  7. 面试官:InnoDB中一棵B+树可以存放多少行数据?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:r6a.cn/fUA9 InnoDB一棵B+树可以存放多少行数据?这 ...

  8. 【245期】面试官:同类中两个方法加同步锁,多个线程支持同时访问这两个方法吗?...

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...

  9. 面试官:工作中遇到难题怎么解决的?看似送分题实则”送命”

    "金九银十"跳槽季,不少职场的新人,在面对这个问题是无从下手,甚至很多职场老人也会措手不及,尴尬的说:"工作中没有什么难题吧,基本上都可以解决."如果我们这样回 ...

最新文章

  1. 下的生产环境was重新启动不同意,怎么做?
  2. 【极品手机推荐】安卓3G运存16G内存,相机1300+500,三星高画质显示J7109|J7108
  3. map/set/multi_map/multi_set/unorder_map/unorder_set总结
  4. P1972 [SDOI2009]HH的项链
  5. 全排列算法解析(视频+详解+代码+STL)
  6. 现代起亚混合动力SUV全球销量突破50万辆
  7. 《哪吒之魔童降世》观影人次突破1亿大关 为动画电影之最!
  8. 信息泄露案件_圆通回应运单信息泄露案件:系主动报案,涉4万余条敏感信息...
  9. 笔记本电脑键盘切换_2019年最好的2500元以内的笔记本电脑
  10. c语言字符输出128,如何将128位整数转换为C中的十进制ASCII字符串?
  11. 详解循环神经网络RNN(实践篇)
  12. Windows系统镜像下载
  13. c语言窗口炸弹代码,C语言实现宾果消消乐.pdf
  14. 人人影视路由二代刷Breed
  15. WebGIS 瓦片地图引擎实现之——地图瓦片计算
  16. 社交媒体运营_在社交媒体上确定投诉相关帖子
  17. pytorch实现LeNet5手写数字识别+各层特征图可视化
  18. 2020 gnome 桌面插件推荐
  19. 计算机专业网名英语翻译,100个高端大气英文网名(带翻译)
  20. 数学三次危机(三)“希帕索斯悖论”或“毕达哥拉斯悖论”

热门文章

  1. 代码随想录算法训练营第二天|LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II。
  2. CCRC信息安全服务资质认证给企业带来的好处
  3. 计算机组成原理形成性考核作业,电大本科计算机组成原理形成性考核册答案
  4. QT+OpenGL高级光照 Blinn-Phong和Gamma校正
  5. 湖南科技大学计算机学院新闻网,湖南科技大学计算机科学与工程学院
  6. Visio中导出无白边的矢量图(.svg格式)
  7. 南昌大学计算机技术专业课,20一战南昌大学计算机技术经验分享
  8. STC12c-UART1 串口 通信设置
  9. Blink编译及使用
  10. 2021-2027全球与中国反射式空间光调制器市场现状及未来发展趋势