如何让git忽略vendor /下的.git文件夹?

时间:2014-08-31 15:22:00

标签: git composer-php gitignore

我正在使用composer,为了开发,我想将.git文件夹保存在vendor目录中,这样我就可以跟踪差异等等。所以我的项目结构是:

projectroot/
  .gitignore
  file1
  file2
  vendor/
    dir1/
      module1/
        .git/
        module1file1
        module1file2
        ...
    dir2/
      module2/
        .git/
        module2file1
        ...

我想承诺git,这些文件:

file1
file2
vendor/dir1/module1/module1file1        
vendor/dir1/module1/module1file2    
vendor/dir2/module2/module2file1        
...

我的projectroot / .gitignore文件应该是什么?从the composer docs我试过

vendor/*.git

vendor/*/.git

但在这两种情况下,git 1.8.3仍然希望将vendor/dir1/module1vendor/dir2/module2作为子模块提交,我想在下面提交文件。

在这种情况下,.gitignore语法应该是什么?

1 个答案:

答案 0 :(得分:1)

我将vendor/放入.gitignore文件 - 等等 - 然后,如果我想编辑我带入Composer的库(除非它引入'dist'存档文件版本),我可以这样做,它仍然会有库.git目录。由于库是它自己的仓库,我可以根据需要进行编辑和推送,但它仍然可以从顶层应用程序(或库)中使用。