gpt4 book ai didi

Git:在不影响生产服务器文件的情况下删除 GitLab/GitHub 存储库中未跟踪的文件

转载 作者:太空狗 更新时间:2023-10-29 14:46:55 26 4
gpt4 key购买 nike

我对 Git 比较陌生。在我提出问题之前,先简单介绍一下我的工作流程。

我最初将我的整个项目推送到 GitLab,将 repo 克隆到开发(origin master)和生产(origin production)服务器上,然后设置了一个 webhook 来触发 git pull origin当我推送到 master 分支时,开发服务器上的 master 请求。

一旦我对结果感到满意,我就将“master”分支与“production”分支 merge ,后者还为生产服务器附加了一个 webhook (git pull origin production)。

由于我的项目主要是 (90%) 模板文件,我想从 GitLab 服务器存储库中删除一些文件(永远不会改变,例如配置、系统文件),而不影响(删除)开发上的文件和生产服务器。

我已经在我的本地副本上设置了一个 .gitignore 文件来取消跟踪这些文件。

但是我如何“清理”GitLab 服务器上的存储库,而不删除我的开发和生产服务器上的这些文件?

我找到了这个:Untrack Files In Git Repos Without Deleting Them .这似乎正是我的情况,但没有帮助。

当我按照上述发布程序尝试推送到 GitLab 时,我收到以下消息:

error: failed to push some refs to 'http://git.mygitlab.com/myproject.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

此外,如果有人对我的工作流程是否正确有任何建议,我们将不胜感激。

最佳答案

But how do I 'clean up' the repo on the GitLab server, without these files being deleted on my development and production servers?

如果您有权访问部署服务器,最好:

  • git rm --cached prod 上的那些文件(在 production 分支中)并将其推送到 GitLab
  • git rm --cached dev 上的那些文件(在 dev 分支中)并将其推送到 GitLab
  • 在本地 pull ,添加您的 .gitignore 文件。

关于Git:在不影响生产服务器文件的情况下删除 GitLab/GitHub 存储库中未跟踪的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21770623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com