gpt4 book ai didi

git - "git push"删除未跟踪的远程文件

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

我正在运行一个允许用户将图像上传到服务器的网络服务器。但是,我正在使用 git 来管理我的源代码,并且 git push 操作会删除服务器上与我的本地 checkout 不匹配的所有内容 - 所以我丢失了图像每次我运行 git push!

起初我以为我可以保护上传文件夹,所以我按照其他帖子中的建议尝试了所有这些操作:

  • 将目录添加到.gitignore,
  • git rm --cached -r 上传
  • git update-index --assume-unchanged uploads

这些都不能解决问题 - 当我执行 git push 时,远程目录总是消失。

接下来,我决定把上传的文件放到git的工作区之外,这样git push就不会删除了。然后我创建了一个从公共(public)目录到私有(private)目录的符号链接(symbolic link),这样我就可以公开查看这些文件。到目前为止一切顺利...但是,每当我运行 git push 时,它都会删除符号链接(symbolic link)!

最后,我想也许我可以在每次推送时使用 post-receive git hook 来创建符号链接(symbolic link),但是我的网络服务器 (openshift) 已经在使用该 hook 做其他事情了并且不允许我对其进行编辑。

肯定有一种简单的方法可以做到这一点?!请帮忙!

最佳答案

您应该使用部署操作 Hook 在 OPENSHIFT_DATA_DIR 中创建符号链接(symbolic link),您可以在此处的 WordPress 快速入门中查看如何执行此操作的示例:https://github.com/openshift/wordpress-example/blob/master/.openshift/action_hooks/deploy

OPENSHIFT_DATA_DIR 在部署之间持续存在,但不会在扩展应用程序中的齿轮之间共享。

关于git - "git push"删除未跟踪的远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28339940/

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