Git忽略每个分支的文件

时间:2015-05-09 01:29:18

标签: git github version-control gitignore

目标:仅在指定分支上包含生成的文件。

原因:

  1. 生成的文件会导致冲突
  2. 通过Git进行部署只是某些环境中的选项
  3. 因此,在当前的工作流程中,主分支是dev,有两个部署分支:stage和prod。

    我期望工作的是添加

    <?php namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Media extends Model {
    
        public function tags()
        {
            $this->belongsToMany('Reshi\Tag');
        }
    
        public function posts()
    

    到.gitignore或.git / info / excludes意味着我在dev分支上运行build/* [branch "stage, prod"] !build/* 后,在运行rake build时构建/不显示已更改的文件。在舞台和prod分支上,构建/将显示已更改的文件。

    但是,我尝试过的所有变化都没有奏效。

    这看起来非常典型的工作流程,是否有一些我不知道的git魔法,或者人们如何处理这种情况?

2 个答案:

答案 0 :(得分:7)

.gitignore是一个像任何其他文件一样检入存储库的文件。签出分支,将.gitignore更改为您希望该分支的方式,并提交它。这种变化只会影响那个分支。

答案 1 :(得分:0)

我找到了一个符合您要求的tuturial。 基本上,不可能对每个分支进行不同的忽略。 一种方式来假装&#34;这个行为是:

  1. 为每个分支创建不同的排除文件(不包括。)
  2. 使用挂钩创建更改,因为simlink总是排除当前分支
  3. 详细说明如何在gitignore per branch - Tuturial

    中找到