【问题标题】:How to use PR on GitHub for Laravel Packages?如何在 GitHub 上为 Laravel 包使用 PR?
【发布时间】:2018-06-15 09:20:47
【问题描述】:

当我想在 GitHub 上对 Laravel 包提出拉取请求时,我现在按以下方式进行:

  1. 创建新的 Laravel 项目
  2. 需要并安装包
  3. 从供应商文件夹中的项目中删除附加文件
  4. fork GitHub 并将文件克隆到项目文件夹中
  5. 更改打包并测试所有内容。
  6. 添加、提交、推送和执行拉取请求。

我觉得这有点麻烦 - 这真的是正确的做法吗?

例如,如果我想为 voyager package 创建一个 PR,我必须 对第 1 步和第 2 步执行以下命令。

>laravel new create-pr
>cd create-pr
>composer require tcg/voyager
>php artisan voyager:install

然后删除文件夹tcg/voyager 并将fork 克隆为新文件夹tcg/voyager

如果我跳过 composer require tcg/voyager 并直接将 fork 克隆到 tcg/voyager 我无法安装软件包,因为

【问题讨论】:

  • @JeffPuckett 但是你仍然需要在一个干净的 Laravel 应用程序中安装你的包来测试它,对吧?

标签: php git github laravel-5


【解决方案1】:

首先,将官方存储库tcg/voyager 复制到您的个人存储库iwasherefirst2/voyager。那么

1) 创建一个新的 Laravel 项目

2) 将仓库iwasherefirst2/voyager 添加到composer.json:

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/iwasherefirst2/voyager.git"
    }
],

3) 现在安装 tcg/voyager--pref-source 这将自动安装 iwasherefirst2/voyager 进入 vendor/tcg/voyager 并设置 git 连接。

composer require tcg/voyager --prefer-source

现在您可以更改 vendor/tcg/voyager 中的文件并推送它们(它们将被推送到您的本地存储库 `iwasherefirst2/voyager)。

备注

1) 如果您想在应用程序的根目录中拥有 package 文件夹package/voyager,您可以像这样创建一个符号链接:

ln -s vendor/tcg/voyager package

2) 要查看 vendor 中修改过的文件,您可以致电composer status -v

$ composer status -v
You have changes in the following dependencies:
/path/to/app/vendor/symfony/yaml/Symfony/Component/Yaml:
    M Dumper.php

3) 如果您运行composer update,如果它覆盖了您的任何文件,您将收到警告

$ composer update
Loading composer repositories with package information
Updating dependencies
  - Updating symfony/symfony v2.2.0 (v2.2.0- => v2.2.0)
    The package has modified files:
    M Dumper.php
    Discard changes [y,n,v,s,?]?

【讨论】:

  • 非常感谢。这对我帮助很大
猜你喜欢
  • 2021-06-06
  • 2020-12-13
  • 1970-01-01
  • 2015-03-07
  • 1970-01-01
  • 2015-10-14
  • 2021-10-27
  • 1970-01-01
  • 2017-04-11
相关资源
最近更新 更多