Tell composer to use a Drupal issue fork

To include an issue fork like this one:

https://git.drupalcode.org/issue/exclude_node_title-2624734/-/tree/2624734-page-title.html.twig-still-show

Note that both the repository and the branch name are kind of crazy. The information you need is the git clone information from this repository (blue button top right of the content) and the branch name, which you’ll have to prefix with dev-. First, the repository and the path from git clone in the URL.

Make your composer.json include something like this:

    "repositories": {
        "drupal/exclude_node_title": {
            "type": "git",
            "url": "git@git.drupal.org:issue/exclude_node_title-2624734.git"
        },
        "drupal": {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        }
    },

Where “drupal” is what you would already have there, and “drupal/exclude_node_title” is the repository source we’re adding.

And then, also in the composer.json, change the project you are including to use the branch name from the issue fork, adding the prefix of dev- and (possibly not needed in all cases) an alias as 1.x-dev.

    "require": {
        "composer/installers": "^1.9",
        "drupal/ckeditorheight": "^1.3",
        "drupal/classitup": "^1.0@beta",
        "drupal/core-composer-scaffold": "^8.8",
        "drupal/entity_reference_override": "1.x-dev",
        "drupal/exclude_node_title": "dev-2624734-page-title.html.twig-still-show as 1.x-dev",
        "drupal/workflow_buttons": "1.x-dev@dev"
    },

Again, that dev- prefix is not part of the branch name but must be added here. We needed the alias because another project had required exclude_node_title and it came up as a conflict until we met it halfway with that version alias.

Note that if a profile or module calls for “2.3” or “8.x-2.3” your “as” should match that major version: “as 2.x-dev”.

Searched in the process of figuring this out…

composer require found [1.x-dev (alias of dev-1.x)] in the lock file and dev-8.x-1.x from vcs repo git but these do not match your constraint and are therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one from the lock file.