0

我有 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 push 我的源代码(构建文件夹之外的“服务器”和“站点”文件夹)。这是正确的,因为 git 对应用程序文件夹下的所有文件进行了版本控制。但我需要排除推送这些文件夹以推送到服务器。

我怎样才能做到这一点。谢谢!

4

1 回答 1

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"

就是这样:-)

于 2013-05-13T18:55:43.067 回答