1

我最近一直在阅读 Git,现在我尝试将所有这些内容整合到我的工作流程中。基本上一切正常,但我有一个奇怪的行为,我无法解释,也无法真正理解它。我已经在互联网上上下搜索过这个问题,但是由于 Git 给了你很大的自由来决定使用或不使用哪些移动部件,我发现很难找到针对我的具体情况的答案。

所以,这是我迄今为止完成的设置/我的步骤:

  • 一开始我有一个已经在运行的网站(将 EE 作为 CMS 运行)。我将其称为 PROD。我重新配置了一些文件和路径和东西,以使一切变得灵活,让这个实例通过配置文件、相对路径等在不同的服务器/环境上运行
  • 然后我添加了 .gitignore 文件并根据我的需要进行了配置(例如,不包括缓存文件夹)
  • 初始化的git
  • 将此 repo 推送到 Bitbucket(我将其称为 BB)。
  • 将 repo 克隆到本地。我将其称为 DEV。
  • 然后,我将服务FTPloy配置为在我从 DEV 推送到 BB 时处理部署。
  • 然后我对 DEV 中的两个文件进行了更改
  • 提交更改并推送到 BB
  • 然后这些更改也会反映在 PROD 上

所以,一切都很好,直到这里。现在是奇怪的部分/我没有得到的部分:

当我在完成上述步骤并运行“git status”后 ssh 进入 PROD 时,我得到了这个:

# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   public_html/assets/templates/default_site/blog.group/_entry.html
#   modified:   public_html/assets/templates/default_site/blog.group/index.html

这两个修改过的文件是我刚刚从 DEV 推送的,所以这对我来说似乎有点合乎逻辑,但同时又完全不符合。好像我创建了一个无限循环之类的东西。

有人发现我在设置中犯的错误或知道如何解决这个问题吗?

谢谢!

4

2 回答 2

0

I ended up contacting FTPloy as I assumed that my problem might have something to do with the way FTPloy works. Here is what they said:

Git shouldn’t be initialised on your server if you’re deploying with FTPloy as we don’t have access to the .git directory on Bitbucket and only deploy your actual code. There are numerous security risks with deploying the .git directory so I won’t get into those now.

So, I'll remove the .git folder from my Production server and rsync Assets like user uploaded images to my local repo once in a while.

于 2013-10-28T15:48:56.810 回答
0

难道是你修改文件后没有使用“git add”?与其他 cvs 相比,如果您修改文件,它不会暂存。工作流程是编辑一个文件,使用 git add 来暂存它,git commit 然后推送。否则您的更改将不会被推送。如果你在那里运行“git status”,你也可以在你的开发环境中检查它

Git 专业书

于 2013-10-26T14:17:41.790 回答