I hope my question is not too vague, but can\'t get a proper answer by searching.
I have the following situation; We are working on a project and have certain dependenci
Change package constraint in composer.json
to use branch instead of tagged version - you can use dev-master
for master
branch or dev-my-branch
for my-branch
branch. You may also configure branch alias.
"require": {
"some-vendor/some-package": "dev-master",
}
Add a repository which points to your fork:
"repositories": [
{
"type": "git",
"url": "https://github.com/richard/some-package/"
},
]
Run composer update
to install new version from your fork (or composer require "some-vendor/some-package:dev-master"
if you don't want to update any other dependencies).
Now you should have sources cloned from your fork in vendor/some-vendor/some-package
. You can edit these files and test if changes fits to your app. After you finish your work:
composer update
or composer require "some-vendor/some-package:dev-master"
. This will update your composer.lock
file to use latest version of your fork. Then commit changes in your lock and push.Now if someone will clone your project (or just pull changes) it will get new composer.lock
pointing to your fork with specified commit hash - composer install
should always install the same version of your fork directly from GitHub.