Git一直在删除Laravel Elixir(Gulp)生成的文件

时间:2015-06-01 10:35:25

标签: angularjs git laravel gulp laravel-elixir

我已经在当地分公司工作了几个星期的Laravel / AngularJS项目。

我在提交之前检查了状态,并获得了这些Laravel Elixir生成的文件:

modified:   public/angular_merge/all.js
modified:   public/angular_merge/all.js.map
renamed:    public/build/angular_merge/all-8b179644.js -> public/build/angular_merge/all-a1f3dc90.js
modified:   public/build/angular_merge/all.js.map
modified:   public/build/rev-manifest.json

我提交了我的更改,并将它们合并为master,并将其与冲突合并。我修复了冲突并运行了一个git状态,并看到了这个:

deleted:    public/angular_merge/all.js
deleted:    public/build/angular_merge/all-a1f3dc90.js
deleted:    public/build/angular_merge/all.js.map
deleted:    public/build/rev-manifest.json

所有这些文件都是由Elixir创建的 为了解决这个问题,我尝试对每个文件进行小编辑并提交。我也试过移动到我的dev分支,复制文件,然后在我的主分支中粘贴它们。这使应用程序再次运行,但是当我尝试添加并提交它们时:

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

deleted:    angular_merge/all.js
deleted:    angular_merge/all.js.map

Untracked files:
  (use "git add <file>..." to include in what will be committed)

public/angular_merge/all.js
public/build/

问题是,这些文件的旧版本已经投入生产,所以以前从未发生过。

我对Git的了解有些初学者。我只用了一年,但之前没有发生过这样的事情,我很难过。

1 个答案:

答案 0 :(得分:2)

每次构建/编译代码时都会生成这些文件,以便在每次构建/编译操作时修改/删除它们

如何解决?

使用.gitignore

将这些文件添加到.gitignore。通过这样做,他们将变得透明&#34;为了让你不再在git status中看到它们  如果他们已经提交到存储库,则必须将它们从暂存区域git rm --cached ...中删除,提交这些更改,然后您将不会再次看到它们。

--assume-unchanged

如果您想保留当前文件而不将其从存储库中删除,可以使用git update-index --assume-unchanged <file>
此命令将暂时忽略给定文件中的更改。