1

在使用 git 时,我们都将代码放在自己的存储库中,可以向裸存储库推送和拉取。

如果我需要特定文件夹中的部分最新代码供自动化脚本稍后使用,那么将代码从个人存储库获取到该特定文件夹的最佳方法是什么?(有没有这样做的“git方式”?)

谢谢你。

4

2 回答 2

1

仅限 Git

如果您只想完全依赖 Git 功能,请在您的自动化脚本期望找到更新脚本的位置将post-recive服务器端挂钩与外部挂钩相结合。worktree

粗略的草图:

  • 在服务器上您的 BI 工具要读取它们的位置设置工作树。
  • 添加一个更新该工作树的服务器端挂钩,大致如工作树示例中所示:
    pushd ../worktree
    git checkout -f <main-or-other-branch-to-follow>
    popd
    

Github

如果您的裸 git 存储库实际上托管在 Github 或本地 Gitlab 实例上,您可能会受益于使用Github ActionsGitlab CI管道。对于这个动作,这两种机制都会引入很多包袱,但可以更好地扩展以围绕您的开发实现更多自动化,尤其是提高可见性(您会看到哪些动作是由事件触发的)。

于 2021-09-30T13:55:15.467 回答
1

我的问题的解决方案:不使用裸存储库。我想,我必须使用裸仓库来推送等。但是......

据我所知,我可以创建一个普通的存储库,git init然后执行以下命令:

git config --global receive.denyCurrentBranch updateInstead

这会打开存储库,并且存储库将能够将我们所有的更改存储在一个地方。现在只需将其添加为远程,等等。

于 2021-09-30T14:34:55.873 回答