如何推送生产服务器只为生产准备的文件夹?

时间:2013-05-13 18:34:40

标签: git deployment push gruntjs

我在git版本控制下有项目。我的文件结构如下:

.git
build
server
  models
  controllers
  views
site
  css
  js
  img
.gitignore

在“服务器”和“网站”文件夹中包含未准备好生产的源代码。我使用grunt为生产准备js css(concat和min),它将准备好的文件放在'build'文件夹中生成,所以在grunt之后它会是这样的:

build
  server
    models
    controllers
    views
  site
    css  // min
    js   // min
    img  // sprites

之后我将'git commit'和'git push'发送到远程生产服务器。但与我的构建文件夹git一起推送我的源代码('server'和'site'文件夹在build文件夹之外)。这是正确的,因为git版本化了应用程序文件夹下的所有文件。但我需要排除推送这些文件夹以推送到服务器。

我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:0)

我觉得你可以有一个可以释放的分支。所以假设你有一个分支production,它有自己的.gitignore文件,所以你只会推送你需要的东西。

我这样做的方式

mkdir project
cd project
git init
vi .gitigore
type something and save
git commit -a -m "first commit"
git checkout -b release
vi .gitignore
change content of file
git commit -a -m "update for release"

就是这样: - )