--bare选项是否等于Git中的core.bare配置?

--bare选项是否等于Git中的core.bare配置?,git,Git,我想在我的服务器上创建一个git repo,在推送之后更新我的网站。我找到的所有教程(例如:)的第一步是以下命令: git init --bare 在接下来的步骤中,我应该输入以下命令: git config core.worktree /path/to/git/deploy git config core.bare false git config receive.denycurrentbranch ignore 第二个命令(git config core.bare false)将repo

我想在我的服务器上创建一个git repo,在推送之后更新我的网站。我找到的所有教程(例如:)的第一步是以下命令:

git init --bare
在接下来的步骤中,我应该输入以下命令:

git config core.worktree /path/to/git/deploy
git config core.bare false
git config receive.denycurrentbranch ignore

第二个命令(
git config core.bare false
)将repo设置为非bare。为什么我们先将回购协议初始化为裸协议,然后再将其设置为非裸协议

我怀疑本教程使用了
git init--bare
作为一种“干净”的方法来创建一个不能与实际文件混合的空repo:

这样的回购将直接包含
.git
常规内容,即使重新配置为非裸内容。
您需要一个非裸回购,以便
git签出(在钩子中)工作,因为您只能签出非裸回购中的分支(根据定义,裸回购没有工作树)

不过,我不推荐使用这种方法进行部署,我更喜欢:

  • 保持回购协议的畅通,以便推动回购
  • 建立第二次回购,非空头回购
  • 在第一个(裸)回购协议上添加一个post接收挂钩,以便第二个回购协议从第一个刚接收的回购协议中提取
例如,见:

  • “”
  • “”

我怀疑本教程使用了
git init--bare
作为一种“干净”的方法来创建不能与实际文件混合的空repo:

这样的回购将直接包含
.git
常规内容,即使重新配置为非裸内容。
您需要一个非裸回购,以便
git签出(在钩子中)工作,因为您只能签出非裸回购中的分支(根据定义,裸回购没有工作树)

不过,我不推荐使用这种方法进行部署,我更喜欢:

  • 保持回购协议的畅通,以便推动回购
  • 建立第二次回购,非空头回购
  • 在第一个(裸)回购协议上添加一个post接收挂钩,以便第二个回购协议从第一个刚接收的回购协议中提取
例如,见:

  • “”
  • “”

你能准确描述一下你想做什么吗?“推后更新我的网站”是什么意思?我的意思是,在本地系统中输入
git push
后,我想自动结账。请看我刚刚添加到postCan的url,你能准确描述你正在尝试做什么吗?“推后更新我的网站”是什么意思?我的意思是,在本地系统中输入
git push
后,我想自动结账。请查看我刚刚添加到帖子中的url