我有一个安装了Laravel的项目,其中修改了vendor文件夹中的一些Laravel核心文件(主要是与邮件相关的文件)。
我希望每个克隆这个仓库的人都能拥有相同的更改。正确的处理方式是什么?
- 完全从.gitignore中删除vendor文件夹并把所有文件都进行索引?
- 保留.gitignore中的vendor文件夹,并添加特定文件的例外?(但这样将会在协作者运行composer install时覆盖这些文件,对吗?)
我有一个安装了Laravel的项目,其中修改了vendor文件夹中的一些Laravel核心文件(主要是与邮件相关的文件)。
我希望每个克隆这个仓库的人都能拥有相同的更改。正确的处理方式是什么?
复制 Laravel 代码库:https://help.github.com/articles/fork-a-repo/
在复制的代码库中创建一个新分支,分支名称必须以dev-
为前缀,例如dev-bugfix
在复制的代码库中进行更改,提交更改并将其推送到dev-bugfix
分支。
将复制的代码库包含在您的composer.json
中:
{
"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"
}
}
在此之后,您可以随时拉取自定义更改,而无需将其提交到您的特定项目中。
了解有关分叉和加载软件包的更多信息,请单击此处。
附注:修改供应商软件包文件是一种不好的做法,请尽量避免。