[Git] 裸代码仓库和镜像代码仓库全解
1、Git init和clone命令对bare和mirror参数的支持
git命令 | –bare参数 | –mirror参数 |
---|---|---|
git init | 支持 | 不支持 |
git clone | 支持 | 支持 |
2、裸代码仓库与普通代码仓库的区别
从技术的角度上讲,理论上无论Git代码仓库是否为裸代码仓库都可以接受push。可Git的策略是仅向裸代码仓库发送push。在Mercurial中,任何普通代码仓库都可以用于远程代码仓库,接受push。这是因为push所含的变化仅影响Mercurial代码仓库的版本控制,而不会影响其工作树。在Git中,如果向普通代码仓库push的话,Git会将推送的内容与工作文件进行比较,它会认为工作文件发生改变,从而影响工作树。而裸代码仓库由于没有工作树,所以push所含的变化仅影响裸代码仓库的版本控制。Git FAQ提到:A quick rule of thumb is to never push into a repository that has a work tree attached to it, until you know what you are doing.
3、镜像代码仓库
git clone --mirror命令会创建一个后缀为".git"的目录,直接包含hooks、info、objects和refs子目录和config、description和HEAD文件,不包含远程Git代码仓库的工作树。
config文件内容如下:
[core]repositoryformatversion = 0filemode = falsebare = truesymlinks = falseignorecase = truehideDotFiles = dotGitOnly
[remote "origin"]url = https://github.com/usr1/demo.gitfetch = +refs/*:refs/*mirror = true
镜像代码仓库也是裸代码仓库,它与裸代码仓库的区别在于:它不仅将源代码仓库的本地分支映射到目标代码仓库的本地分支,而且将所有引用(包括远程跟踪分支、备注等)都进行映射并建立refspec配置以使目标代码仓库的所有引用可被git remote update命令覆盖。
裸代码仓库在克隆命令结束后,所有源代码仓库的本地分支映射到目标代码仓库的本地分支,但是不包含远程分支。它就被完全独立地建立,不再期望后继fetch操作,所有远程分支及其他引用会被忽略掉。
镜像代码仓库类似源代码仓库被完整复制,当执行git remote update命令时类似源代码仓库再次被完整复制。
[Git] 裸代码仓库和镜像代码仓库全解相关推荐
- Git连接远程仓库(私有/公开仓库),克隆代码
Git连接远程仓库(私有/公开仓库),克隆代码 1.下载安装Git: git官网下载地址: https://git-scm.com/download/win 但是 ,git官网的话,下载速度比较慢,可 ...
- Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库!
Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库! 一.更改用户名和主机名! 因为当时Windows设置的用户名为中文名称,导致生成的SSH密钥是乱码非常难受,原 ...
- git clone 仓库的部分代码
对于较大的代码仓库来说,如果只是想查看和学习其中部分源代码,选择性地下载部分路径中的代码就显得很实用了,这样可以节省大量等待时间. 比如像 Chromium 这种,仓库大小好几 G 的. clone ...
- gitee存放代码_git / gitee 提交本地仓库代码到Git或Gitee流程 及 常见报错
前提:在 Windows 下安装 git 客户端 然后直接在 base 中执行命令 1.本地初始化 git 设置 git config --global user.name "你的名字或昵称 ...
- Git仓库只拷贝代码-不拷贝提交记录-不拷贝其他分支
1.背景 想拷贝代码到内网开发环境,因为网速很慢,所以希望Git仓库只拷贝代码-不拷贝提交记录-不拷贝其他分支.因为我直接拷贝压缩一个项目居然有1G的内容, 2.重要步骤 复制一个项目,拷贝粘贴 3. ...
- IDEA如何导入git仓库的分支代码
电脑安装git 电脑安装IDEA idea配置git 直接通过git的clone的话只会导入远程仓库的master主支的代码,无法导入分支代码 如何导入分支代码? 首先创建个文件夹: 右击出现git命 ...
- 【git系列】从远端仓库获取最新代码合并到本地分支里
在日常开发中,很有可能几个开发人员都在开发同一个代码仓分支,导致本地分支里的代码"落后于"远端分支里的.我们需要做的就是从远端仓库获取最新代码合并到本地分支里. 1. git pu ...
- 如何将写好的java代码制作成镜像,并上传到镜像仓库
学习docker已经有三个月了,之前总是一股脑的学,没有静下心来做整理,现在终于有时间可以好好整理三个月的学习成果了,今天就整理一下如何将写好的代码制作成镜像并将镜像上传到代码仓库. 1.代码编写 本 ...
- git 提交代码 到 gitee 或 github仓库指定文件夹中
一.创建一个空文件夹 二.将gitee仓库地址复制下来 三.在刚刚新建的空文件夹真打开 Git Bash Here 四.克隆 gitee 仓库 五.提交代码 将想要提交的拖到克隆下来的目录下面 六 ...
最新文章
- 深入探讨PHP中的内存管理问题
- 快速排序 python菜鸟教程-C 排序算法
- 什么是好的API设计?
- 仿京东左侧二级导航条
- vector 和 list 的区别,应用
- Android之Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- config.cfg.php,PHP:使用给定的结构获取变量形式的config.cfg
- 801. Minimum Swaps To Make Sequences Increasing
- POJ 1651 Multiplication Puzzle(类似矩阵连乘 区间dp)
- IT人必读:写给浮躁的IT同仁
- 【HDU1166】敌兵布阵,线段树练习
- Java前后端分离第三方登录_网站前后端分离情况下如何实现QQ微信等第三方登陆-Fun言...
- Linux操作系统中GDB工具常见用法(二)
- 乐嘉写给15岁的女儿的信
- Word 页眉 页脚 出现一条横线删不掉
- 虚拟服务器和vdi,VDI虚拟化平台搭建 01--VDI基本环境准备
- 【21考研】计算机/软件等专业调剂信息集合!【完结版】
- 太原理工大学系统分析与设计实验报告实验室设备_“艺术之光”绽放太原理工大学首届本科生专业节...
- 如何将Word中数据转换为excel表格
- speedoffice(Excel)表格怎么设置文字自动换行呢?