如何在GitHub上使用PR用于Laravel包?

时间:2018-01-05 14:33:47

标签: php git github laravel-5

当我想在GitHub上提取Laravel包的拉取请求时,我现在以下列方式执行:

  1. 创建新的Laravel项目
  2. 要求&安装包
  3. 从供应商文件夹
  4. 中删除项目中的加载项文件
  5. 将GitHub和克隆文件分割到项目文件夹
  6. 对包进行更改并测试所有内容。
  7. 添加,提交,推送和执行拉取请求。
  8. 我发现这有点麻烦 - 这实际上是正确的做法吗?

    例如,如果我想为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并直接将叉子克隆到tcg/voyager我因为

    而无法安装包

    enter image description here

1 个答案:

答案 0 :(得分:0)

首先,将官方存储库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)要查看供应商中的已修改文件,可以致电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,?]?