在使用 git 时,我们都将代码放在自己的存储库中,可以向裸存储库推送和拉取。
如果我需要特定文件夹中的部分最新代码供自动化脚本稍后使用,那么将代码从个人存储库获取到该特定文件夹的最佳方法是什么?(有没有这样做的“git方式”?)
谢谢你。
如果您只想完全依赖 Git 功能,请在您的自动化脚本期望找到更新脚本的位置将post-recive
服务器端挂钩与外部挂钩相结合。worktree
粗略的草图:
pushd ../worktree
git checkout -f <main-or-other-branch-to-follow>
popd
如果您的裸 git 存储库实际上托管在 Github 或本地 Gitlab 实例上,您可能会受益于使用Github Actions或Gitlab CI管道。对于这个动作,这两种机制都会引入很多包袱,但可以更好地扩展以围绕您的开发实现更多自动化,尤其是提高可见性(您会看到哪些动作是由事件触发的)。
我的问题的解决方案:不使用裸存储库。我想,我必须使用裸仓库来推送等。但是......
据我所知,我可以创建一个普通的存储库,git init
然后执行以下命令:
git config --global receive.denyCurrentBranch updateInstead
这会打开存储库,并且存储库将能够将我们所有的更改存储在一个地方。现在只需将其添加为远程,等等。