【问题标题】:concept of bare shared repository in gitgit中裸共享存储库的概念
【发布时间】:2014-06-09 07:02:57
【问题描述】:

我在理解裸存储库方面遇到了困难。我到处都读到共享仓库是一个裸仓库。为什么它必须是一个裸回购?不能是合作者克隆然后推/拉的普通回购吗?

【问题讨论】:

标签: git repository git-bare


【解决方案1】:

它必须是一个裸 repo,因为一个非裸 repo 会有一个工作树(意味着该 repo 的特定版本已签出并且文件可见)。

每次你推送到一个非裸仓库时,你不能保证它的工作树会反映你推送的内容,因为默认情况下所说的工作树不会被触及。
(想象一下,如果推送会触发工作树的更新:文件会突然发生变化,而不受接收端用户的任何控制)

这就是为什么将裸仓库作为上游仓库(你推送到的仓库)更简单的原因:没有工作树来管理/更新。

在“all about "bare" repos -- what, why, and how to fix a non-bare push”查看更多信息。

它没有签出树,所以它只是做“服务器”在集中式 VCS 中所做的事情——当你推送到它时记录提交、分支等,并在你推送到它时为你提供最新版本克隆或从中提取。

【讨论】:

  • 如果可能的话,你能解释一下吗?“每次你推送到一个非裸仓库时,你不能保证它的工作树会反映你推送的内容,因为默认情况下说工作树将保持不变。”
  • @user2636464 当你推送新的提交时,当前签出的文件不会改变。
猜你喜欢
  • 2012-02-11
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
  • 2010-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多