使用Bitbucket进行网站开发的Git模型

时间:2013-10-26 13:57:57

标签: git deployment bitbucket git-status

我最近一直在阅读Git,现在我已经尝试将所有这些内容整合到我的工作流程中。基本上一切都在工作,但我有一个我无法解释的行为,也不能真正了解它。我已经在网上上下搜索了这个问题,但是由于Git给了你很多自由,使用或不使用哪些移动部件我觉得很难找到我特定情况的答案。

所以,这是我到目前为止完成的设置/步骤:

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

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

在执行上述步骤并运行“git status”后,当我进入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推出的文件,所以对我来说似乎有点合乎逻辑但是同时又完全没有。好像我创造了一个无限循环或其他东西。

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

谢谢!

2 个答案:

答案 0 :(得分:0)

修改文件后你是不是没有使用“git add”?与其他cvs相比,如果您修改文件,则不会暂存。工作流程是编辑文件,使用git add进行暂存,git commit然后推送。否则,您的更改将不会被推送。如果你在那里运行“git status”

,你也可以在你的开发环境中查看它

请参阅Git Pro Book

答案 1 :(得分:0)

我最终联系了FTPloy,因为我认为我的问题可能与FTPloy的工作方式有关。这是他们所说的:

  

如果您使用FTPloy进行部署,则不应在您的服务器上初始化Git,因为我们无法访问Bitbucket上的.git目录并只部署您的实际代码。部署.git目录存在许多安全风险,因此我现在不会涉及这些风险。

因此,我会暂时将生产服务器中的.git文件夹和rsync资产(例如用户上传的图像)删除到我的本地仓库。