远端仓库初始化成裸仓库 git init --bare

转载 2016年08月29日 22:34:13

1 git init   git init –bare 的区别

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

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

git push origin master:master

于是乎出现


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

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

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


 

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


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

相关文章推荐

ubuntu14.04搭建git服务器、远端仓库、自动部署

搭建的过程中细节太多,也走了许多弯路,就不说了,主要谈一谈几个注意点: 1、一定要学会看错误提示 从错误提示上可以看到很多东西,比如提示你哪儿哪儿权限不够,你就应该知道去改权限 比较有用的两个命令: ...

Git管理多个远端仓库的方法

作者: yongquan.xu 本文针对目前项目同时维护2个远端仓库的情况,介绍了用一个工作项目,同时提交的方法。 1、工程配置 由于S2和X588的系统主题不一样,本节介绍通过工程...

git删除远端仓库文件方法及常用指令

git rm XX 删除XX文件 在本地仓库删除文件夹 git rm –r xx 删除文件夹 –r 表示递归所有子目录 git commi...

Git远端仓库被不同版本的本地仓库push,不能正常提交代码

Git远端仓库被不同版本的本地仓库push,不能正常提交代码 $ git push Username for 'https://github.com': Grand2015 To https:...

git学习--repo批量创建远端仓库----建立自己的android代码仓库

当 建立公司的代码管理库: 建立单个库的方法: 比如: ssh -p 29418 yangfogen@172.16.0.51 gerrit create-project -n genymotion...

repo批量创建远端仓库----建立自己的android代码仓库

转载请注明:http://blog.csdn.net/yanxiangyfg     android代码团队开发中,为了团队合作我们需要建立代码仓库,以便进行团队间的协作. android最...

git init 与 git init --bare 的区别

git init  和 git init –bare 的区别 使用命令"git init --bare"(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只...

把阿里ACE的SVN代码仓库转换成Git管理

由于之前了解过相关 相关操作,以为很简单。实际操作中走了太多的弯路。。。 转换命令: git svn clone 例如: git svn clone http://repo1.svn.ace....
  • enlangs
  • enlangs
  • 2015年03月27日 15:32
  • 559

gitolite搭建git仓库(服务端+客户端)

gitolite搭建git仓库(服务端+客户端) 分类: 滴水穿石 项目管理2012-04-17 19:17 9229人阅读 评论(0) 收藏 举报 git服务器allocatio...

git 本地仓库的初始化及多节点批量同步

需求:创建两个git本地仓库,分别位于192.168.143.202和192.168.143.210,当192.168.143.200修改配置的时候同时提交至两台git仓库中.说明:192.168.1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:远端仓库初始化成裸仓库 git init --bare
举报原因:
原因补充:

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