博客专区 > origin的博客 > 博客详情
git init 和 git init –bare 的区别
origin 发表于1年前
git init 和 git init –bare 的区别
  • 发表于 1年前
  • 阅读 85
  • 收藏 3
  • 点赞 2
  • 评论 0

1小时搭建人工智能应用 让技术更容易入门>>>   

摘要: git init 和 git init –bare 的区别

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适合多人协作开发

       

共有 人打赏支持
粉丝 8
博文 40
码字总数 4903
×
origin
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: