【问题标题】:Using git with a website that has user uploads将 git 与具有用户上传的网站一起使用
【发布时间】:2016-05-17 13:25:43
【问题描述】:

好的,我会简短地解释我的问题:

我有一个网站,比如说一个用户可以聊天和上传头像、图像、文件等的板。

我想在这个网站上使用 git。

所以我做了什么:

  • 使用 bitbucket 创建了一个 repo
  • 将此仓库克隆到本地
  • 添加 .gitignore 文件(见下文)
  • 将我的网站复制到我的本地仓库
  • 首次提交
  • 将所有内容推送到 bitbucket

Bitbucket 现在有了我的网站,但没有我忽略的文件和文件夹

我的 .gitignore 看起来像这样(例如):

uploades/user/avatars
cache/
logs/

好的下一步:

  • 我正在使用 ssh 登录我的网络服务器
  • 克隆 bitbucket 存储库

现在我的网站上线了,没有任何用户文件(上传、图像、文件等...) 因此,如果用户现在在 git 忽略的文件夹中上传某些内容,我希望这些文件保留。

当我进行本地 php 更改并将其再次推送到 bitbucket 然后在我的网络服务器上执行“git pull”时,所有用户文件都将被删除。

我想念什么?最好的程序是什么?

【问题讨论】:

  • ssh 到服务器并手动创建上传文件夹。您不希望上传文件夹位于 git 中。我假设它没有任何代码,它只有用户内容 - 所以只需留在服务器上。
  • 等一下,当我在我的网络服务器上进行克隆然后通过 ssh 添加目录时,可以说,uploads/ 这个目录永远不会被删除,当我这样做时 git 拉?
  • 不,不会(如果我理解正确的话)。我也是这样做的。你为什么不试试,看看结果如何。我在服务器上创建裸仓库,然后推送到远程仓库。一旦远程仓库(在我的公共目录之外)是最新的,我就从我的另一个远程仓库转到我的公共目录(public_html)和git clone。像魅力一样工作。
  • 是的,它已经完成了,它就像一个魅力:)
  • 您确定您的代码不会删除这些文件吗? Git 不应该接触未跟踪的文件,除非你这样做 git clean。在将这些文件添加到 .gitignore 之前是否已跟踪这些文件?既然您添加了 gitignore,您能否再次重现该问题? (会不会是第一次删除它们正是因为您在提交添加 .gitignore 之前有一个提交删除了它们?)

标签: php git github web


【解决方案1】:

SSH 到服务器并手动创建uploades 文件夹。您不希望 uploades 文件夹位于 git 中。我假设它没有任何代码,它只有用户内容 - 所以只需留在服务器上。

这就是我将本地存储库推送到远程实时服务器的方式:我在服务器上创建一个裸存储库,然后将本地存储库推送到远程存储库(在本地将源添加为远程)。一旦远程存储库(位于我的公共目录之外)是最新的,我将转到我的公共目录(public_html)并从我的另一个远程存储库中进行 git clone。奇迹般有效。

首次设置:将本地 repo 发送到远程服务器

  1. 在远程服务器上创建裸仓库:

git init --bare myproject.git

  1. 在我的本地机器上:

git remote add origin user@ip:sshport/git_path_of_bare_repo/myproject.git

  1. 将本地更改发送到远程裸仓库

git push origin master

  1. 在远程服务器上,登录到您的公共目录(public_html 或 /var/www/,或您的文档根目录):

git clone /path/to/your/bare/repo/above/myproject.git

  1. 在您的公共目录中,创建您需要的任何文件夹(上传、日志、tmp 等)。进一步的 git pull 不会删除这些文件夹。

就是这样!

将进一步的更新从本地发送到远程 在您的本地机器上输入:

git push origin master

现在您的本地更改在您的远程仓库中。在您的服务器上转到您的公共目录(上面的第 4 步),然后拉取更新:

git pull

非常适合我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    相关资源
    最近更新 更多