git init 和 git init –bare

原创 2016年05月30日 10:26:16
  1. 使用命令”git init –bare”(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只会生成一类文件:用于记录版本库历史记录的.git目录下面的文件;而不会包含实际项目源文件的拷贝;所以该版本库不能称为工作目录(working tree);

  2. 如果你进入版本目录,就会发现只有.git目录下的文件,而没有其它文件;就是说,这个版本库里面的文件都是.git目录下面的文件,把原本在.git目录里面的文件放在版本库的根目录下面;

  3. 换句话说,不使用–bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下;

  4. 而使用–bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面

  5. 接下来,我们看下二者的区别
    1) 不使用–bare
    无--bare

    2)使用–bare
    有--bare

  6. 用”git init”初始化的版本库用户也可以在该目录下执行所有git方面的操作。但别的用户在将更新push上来的时候容易出现冲突。

    比如有用户在该目录(就称为远端仓库)下执行git操作,且有两个分支(master 和 test),当前在master分支下。另一个用户想把自己在本地仓库(就称为本地仓库)的master分支的更新提交到远端仓库的master分支,他就想当然的敲了
    git push origin master:master

    于是乎出现

    因为远端仓库的用户正在master的分支上操作,而你又要把更新提交到这个master分支上,当然就出错了。

    但如果是往远端仓库中空闲的分支上提交还是可以的,比如

    git push origin master:test 还是可以成功的

    解决办法就是使用”git init –bare”方法创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”)

    错误提示

    这个就是最好把远端仓库初始化成bare仓库的原因。

版权声明:本文为博主原创文章,未经博主允许不得转载。

git init 和 git init –bare 的区别和解决www下没有源文件无法看的的问题

git init 和 git init –bare 的区别使用命令”git init –bare”(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只会生成一类...
  • qq_29232943
  • qq_29232943
  • 2017年03月09日 21:34
  • 1242

git init 命令详解

通过翻译git init 的命令文档,加上自己的一些体会,来加深理解。 git-init(1) Manual Page NAME git-init - Create an empty Git r...
  • gongfusz
  • gongfusz
  • 2015年05月04日 10:07
  • 1744

使用”git init”和使用”git init –bare”的区别

在使用Git初始化版本库的时候,使用”git init”命令和使用”git init –bare”命令有什么区别呢? 用”git init”初始化的版本库(暂且称之为working repositor...
  • ling091
  • ling091
  • 2016年04月29日 11:15
  • 2266

git学习笔记(2)——git init命令选项说明

git init 创建一个新的仓库或重新初始化现有仓库 选项说明:-q|--quiet:只打印错误和警告,其他输出将被制止。--bare:创建一个空的仓库,如果GIT_DIR环境变量没有设置,则会...
  • hjb2722404
  • hjb2722404
  • 2015年05月19日 10:07
  • 1022

Git一创建时没有Git init here!

希望帮助到和我一样纠结在此的人: 注册账号就不说了,应该都会!不会的百度。 可能是新版和旧版的区别吧!我开始纠结好久的问题就是一直找不到不知道在哪里! 在本地下载安装好后...
  • Rgen_xiao
  • Rgen_xiao
  • 2016年03月25日 12:35
  • 7052

Git中init、clone命令介绍

原文地址:http://gitref.org/creating/#init GETTING AND CREATING PROJECTS In order to do anything in ...
  • tanga842428
  • tanga842428
  • 2016年10月20日 18:47
  • 1467

github上传、git不存在git init选项、本地更新到远程的解决办法

gitHub上传本地文件 想上传代码到github上面,参考了好多网址都要点击git init这个选项 但是git后面的版本安装之后就没有这个选项,需要点击git bash here 打开shel...
  • code_AC
  • code_AC
  • 2017年05月02日 15:51
  • 943

git初始化-git init使用

转自:https://www.cnblogs.com/super-d2/p/3341864.html git初始化-git init使用 如果在GitHub项目初始化之前,数据...
  • lizhengjava
  • lizhengjava
  • 2017年11月28日 15:13
  • 41

git的深入理解与使用

一、git的深入了解:用git有一段时间了, 总是感觉自己对它的认识是少之又少。现在趁此机会总结一下,以使加深自己对git的理解。 我们都知道,git是一款免费开源的分布式版本控制系统,用于敏捷高效...
  • u011641865
  • u011641865
  • 2016年04月09日 10:33
  • 2482

git init here以及git下载代码到本地

git windows下载地址:https://git-scm.com/download/win 按照全部“下一步”点击安装完成即可。 接下来如何将代码下载到自己电脑里,有些网上介绍右键会有git...
  • lilinoscar
  • lilinoscar
  • 2017年05月22日 15:26
  • 4273
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git init 和 git init –bare
举报原因:
原因补充:

(最多只允许输入30个字)