Git 在没有直接服务器访问的情况下从生产服务器拉取

Git pull from production server without direct server access

我们已被授予对客户端远程存储库 (CodebaseHQ) 的开发访问权限,但由于 .gitignore 中的条目,远程存储库中不存在一个目录。

我已经修改了 .gitignore(删除了必要的条目)并将其推送到远程仓库,但是无论如何我现在可以将这个目录从实时服务器拉到仓库中吗?

我没有直接访问服务器的权限。我将本地仓库推送到 codebasehq 上的远程仓库,然后使用 deployhq.

部署到生产服务器

编辑

由于有投票结束此问题,我将澄清我的问题。

实时服务器上存在一个目录,但 codebasehq 上的存储库中不存在该目录。我怎样才能将此目录从服务器获取到存储库中(它已从 .gitignore 中删除)?

不,你不能。推送更新的 .gitignore 意味着如果现在将代码从 repo 拉入实时服务器,那么如果您这样做,该目录将在那里可见 git status。仅此而已。

您仍然需要访问该服务器,以便从那里提交目录并添加目录,并将更改推送回存储库,稍后可以从那里将它们拉到下游。

所以你应该要求客户

  1. 要么为您提供该目录
  2. 或运行服务器本身的提交和推送步骤
  3. 或者为您提供对实时服务器的临时访问权限,以便您可以提交和推送

PS:一般不建议从服务端提交,但特殊情况下可以。

好吧,从 .gitignore 中删除目录,然后在本地代表中检查此目录中是否有文件。如果为真,commitpush 将它们发送给远程代表。 如果不是,但您知道文件在远程代表中,那么您需要推送 .gitignore 不带文件夹的文件,并从远程代表提交更改。

如果repo中没有文件,需要重新添加到项目中。