Git - 供应商文件夹修改 - .gitignore?

时间:2016-01-05 13:06:46

标签: git laravel composer-php gitignore vendor

所以我有一个Laravel安装,我在其中修改了供应商文件夹中的几个Laravel核心文件(主要是与邮件相关的)。

我希望克隆回购的每个人都有明显的相同变化。处理这个问题的正确方法是什么?

  • 从.gitignore中完全删除vendor文件夹并将其全部索引?
  • 将供应商文件夹保留在.gitignore中,并为我修改的特定文件添加例外情况? (但是当协作者进行作曲家安装时,这会覆盖这些文件,对吗?)

1 个答案:

答案 0 :(得分:6)

  1. Fork Laravel回购:https://help.github.com/articles/fork-a-repo/

  2. 在分叉回购中创建一个新分支,分支名称必须以dev-为前缀,例如dev-bugfix

  3. 在forked repo中进行更改,提交它们,将它们推送到dev-bugfix分支。

  4. composer.json

  5. 中加入分叉回购
    {
        "repositories": [{
            "type": "package",
            "package": {
                "version": "dev-bugfix",
                "name": "laravel/framework",
                "source": {
                    "url": "https://github.com/<your_github_username>/framework.git",
                    "type": "git",
                    "reference": "dev-bugfix"
                }
            }
        }],
        "require": {
            "laravel/framework": "dev-bugfix"
        }
    }
    

    在此之后,您可以随时提取自定义更改,而无需将其提交到您的特定项目。

    在此处阅读有关分叉和加载包的更多信息:https://getcomposer.org/doc/05-repositories.md#vcs

    PS。修改供应商包文件是一种不好的做法,以后再尝试不这样做。