博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git init 和 git init –bare 的区别
阅读量:5878 次
发布时间:2019-06-19

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

hot3.png

git init

用”git init”初始化的版本库(称之为work tree(工作目录))将会生成“.git“版本库目录(记录版本历史),工作目录包含有版本历史目录“.git”和项目源文件目录,你可以在工作目录修改你的源文件并使用”git add”和”git commit”命令进行版本管理,但是别的开发者无法push到你的仓库.

但是你可以修改.git/config添加如下代码:

   [receive]
   denyCurrentBranch = ignore
或执行:git config receive.denyCurrentBranch ignore  别人就可以push了,但别的用户在将更新push上来的时候容易出现冲突.

例如:远程仓库上两个分支master1,master2,远程用户正在使用master1,这时候如何其他用户向master1分支推送代码git push origin master:master1

于是乎出现因为远端仓库的用户正在master1的分支上操作,而你又要把更新提交到这个maste1r分支上,就出错了。
 


git init –bare

使用”git init –bare”方法创建一个所谓的裸仓库,裸仓库是因为这个仓库只保存git历史提交的版本信息,不会包含项目源代码目录,同时不允许用户在该仓库下进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”).

bare repository主要是用作分享版本库。开发者使用bare repository可以向其他人分享存储在本地的版本库,以便于实时分享代码更新和团队协作 。通过使用”git push”命令,你可以将你的本地更新提交至“中心版本库”。其他开发者可以使用“git pull”命令者接受你提交的版本更新。如果你正在一个多人协作的项目团队或者同一个项目需要在不同电脑上面完成的时候,bare repository可以满足你的分布式开发需求.

 

git init仓库适合个人开发

git init –bare适合多人协作开发

       

转载于:https://my.oschina.net/zorigin/blog/677294

你可能感兴趣的文章
Xcode全局替换内容,一键Replace
查看>>
1000 加密算法
查看>>
exif_imagetype() 函数在linux下的php中不存在
查看>>
Ruby的case语句
查看>>
Linux的链接文件-ln命令
查看>>
maven的tomcat插件如何进行debug调试
查看>>
table表头固定
查看>>
截取字符串中两个字符串中的字符串
查看>>
spring xml properties split with comma for list
查看>>
判断点是否在三角形内
查看>>
Android实战简易教程-第二十三枪(基于Baas的用户注冊验证username是否反复功能!)...
查看>>
在odl中怎样实现rpc
查看>>
leetcode 110 Balanced Binary Tree
查看>>
python活用isdigit方法显示系统进程
查看>>
项目开发总结
查看>>
知行合一
查看>>
jmeter插件之jsonpath提取响应结果和做断言
查看>>
发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
查看>>
Ubuntu ctrl+alt会导致窗口还原的问题
查看>>
第四十期百度技术沙龙笔记整理
查看>>