从git repo中删除文件,但不从服务器中删除

时间:2017-07-05 09:31:14

标签: git github symlink

在过去的某个时刻,符号链接媒体文件已添加到我正在处理的git仓库中。我想从repo中删除它,在本地删除文件,但不在服务器上部署repo(我也不想重新制作符号链接)。 git update-index --assume-unchanged似乎不是持久性的,git rm --cached会在部署时终止文件。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

简短的回答是:不,两者都没有办法:

  1. 从repo中删除文件
  2. 原始git pull 删除克隆上磁盘上的文件
  3. 如果您的部署过程在生产计算机上以git pull开头,则您必须采取一些额外操作才能在此计算机上重新创建符号链接。

    我不知道deployhq是如何工作的:我想你有办法编写代码“并且请在部署代码后执行此脚本/操作列表”,这个操作列表应包括“添加符号链接”。

答案 1 :(得分:0)

最接近您在deployhq config files中找到的内容。这对任何非repo文本文件都有好处,但不幸的是,这对符号链接不起作用。

这可能有效:

  1. 首先从repo中移除符号链接(git rm,commit,push / deploy)。
  2. ssh到您部署的服务器。在那里创建符号链接。如果它是回购中的某些内容,您可以将其添加到.gitignore,但您不必 - 它无所谓。
  3. 现在服务器有链接,并且它未连接到存储库,因此它不会存在于github或您正在使用的任何内容或本地计算机中。它只是服务器上的文件。关键是链接不应该在任何地方的回购你需要在服务器上手动创建