Git - 供应商文件夹修改 - .gitignore?
Git - Vendor folder modifications - .gitignore?
所以我有一个 Laravel 安装,其中我修改了 vendor 文件夹中的几个 Laravel 核心文件(主要是与邮件相关的)。
显然,我希望克隆回购协议的每个人都具有相同的更改。正确的处理方式是什么?
- 从 .gitignore 中完全删除 vendor 文件夹并将其全部索引?
- 将vendor文件夹保留在.gitignore中,并为我修改的特定文件添加例外? (但这会在协作者安装 composer 时覆盖这些文件,对吧?)
分叉 Laravel 回购:https://help.github.com/articles/fork-a-repo/
在forked 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"
}
}
在此之后,您可以随时提取您的自定义更改,而无需将其提交到您的特定项目。
在此处阅读有关分叉和加载包的更多信息:https://getcomposer.org/doc/05-repositories.md#vcs
PS。修改供应商包文件是一种不好的做法,以后尽量不要这样做。
所以我有一个 Laravel 安装,其中我修改了 vendor 文件夹中的几个 Laravel 核心文件(主要是与邮件相关的)。
显然,我希望克隆回购协议的每个人都具有相同的更改。正确的处理方式是什么?
- 从 .gitignore 中完全删除 vendor 文件夹并将其全部索引?
- 将vendor文件夹保留在.gitignore中,并为我修改的特定文件添加例外? (但这会在协作者安装 composer 时覆盖这些文件,对吧?)
分叉 Laravel 回购:https://help.github.com/articles/fork-a-repo/
在forked 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"
}
}
在此之后,您可以随时提取您的自定义更改,而无需将其提交到您的特定项目。
在此处阅读有关分叉和加载包的更多信息:https://getcomposer.org/doc/05-repositories.md#vcs
PS。修改供应商包文件是一种不好的做法,以后尽量不要这样做。