博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git远程02:git clone都做了什么
阅读量:6087 次
发布时间:2019-06-20

本文共 894 字,大约阅读时间需要 2 分钟。

1
$ git clone git@github0123:jeremy0123/fetch.git fetch-local

执行如上git clone指令,相对于执行了如下工作。

  • 创建一个文件夹fetch-local,执行git init初始化为一个仓库,git remote add origin到远程仓库。
  • 创建远程跟踪分支remote/origin/*。
  • 创建并切换到初始分支,这个分支是从远程仓库当前活动分支fork来的。
  • 以上工作完成后,执行一个没有参数的git fetch指令,更新所有远程跟踪分支。
  • 执行没有参数的git pull指令,合并远程的master分支到本地的master分支。同时设置master分支的upstream为远程跟踪的master分支。本条执行的条件是远程分支存在master分支。
  • 创建默认配置,即.git/config文件,在.git/refs/remotes/origin/创建远程分支头的引用(HEAD文件);初始化配置文件中remote.origin.url和remote.origin.fetch参数。
    注意:远程跟踪分支,使用命令git branch -a就可查看到。
    1 2 3 4 5 6 7
    $ git branch -a * master   remotes/origin/HEAD -> origin/master   remotes/origin/br01   remotes/origin/br01-remote   remotes/origin/br03   remotes/origin/master

这些分支叫远程跟踪分支,但真实的意思应该是,远程分支在本地仓库的缓存,不执行git fetch命令,不会获取到远程分支的更新。千万不要将这些分支当做远程分支,以为是它们是自动更新的

另外,remotes/origin/HEAD -> origin/master 表示远程仓库origin默认分支是origin/master分支(其实就是显示git clone最后的工作:创建远程分支头的引用)。

~~ EOF ~~

转载地址:http://avtwa.baihongyu.com/

你可能感兴趣的文章
PHP 数组用法
查看>>
kickstart+dhcp+vsftp+tftp
查看>>
SpringMvc 参数接收
查看>>
我的友情链接
查看>>
[转]Linux服务器性能评估与优化(二)
查看>>
js控制media player参数
查看>>
安装ESXI 5.5卡在LSI_MR3.V00解决方案以及 选择合适网卡驱动方案
查看>>
ActionBar中ShareActionProvider简单使用
查看>>
分析以HTML5开发移动游戏的可行性
查看>>
Linux 执行命令source或./
查看>>
我的友情链接
查看>>
django 分页
查看>>
JavaScript的语法
查看>>
tomcat高并发配置调优
查看>>
Android 自定义view里面的一些东西
查看>>
PHP get_html_translation_table() 函数
查看>>
H3C交换机设置DHCP中继的过程
查看>>
文本框下绑定DIV下拉复选框
查看>>
Sublime Text 2.0 正式版:非常给力的代码编辑器
查看>>
闰年怎么判断
查看>>