在我的项目中,我需要使用 composer
的软件包。今天早上,我得知一夜之间有一个合并的套要求,但是一类代码中剩下的功能不佳。有人修复了错误并进行了提交,但尚未合并到master
分支。
所以我更新composer.json
并将sha1
设置为这样:
"require": {
"vendor/package": "dev-master#d0d6b33897e1739c55a338fdd0a544bfe5a10721"
}
并运行composer update
并获得
d0d6b33897e1739c55a338fdd0a544bfe5a10721 is gone (history was rewritten?), recovered by checking out 33e68f9cec94d52f40192c576d7441ea12852b99
我想在尚未合并的提交中做些什么?如果这很愚蠢,请原谅我的无知 - 相对较新。我可以手动删除代码,直到被推开,但我主要是出于好奇心。
我猜(实际上不知道)您不能包括该提交不在的分支的提交。如果该提交不是合并到主体的,则不能将其包含在哈希中,同时指定您要" Dev-Master"。
您应该指定修复程序上的其他分支。如果该分支尚未移至Packagist/Composer已知的存储库,则您可能还必须包括实际参数的另一个存储库,以使作曲家能够找到该分支机构并提交。
。另一方面:为什么要使用不稳定的主人分支?您是否考虑过需要稳定的标记版本?那么生活要轻松得多(而且我确实知道,出于我不了解的原因,一些存储库经理避免标记版本,从而使每个人的生活变得更加痛苦,但希望那时它会适合他们的用例)。
下面的示例使用了一个bitbucket示例,但是您可以轻松地对GitHub
进行相同的操作{
"name": "YOUR_VENDOR_NAME/YOUR_PROJECT_NAME",
"description": "PPROJECT DESCRIPTION",
"type": "project",
"license": "proprietary",
"authors": [{
"name": "YOUR_NAME",
"email": "YOUR_EMAIL"
}],
"minimum-stability": "stable",
"repositories": [{
"type": "package",
"package": {
"name": "YOUR_PACKAGE_VENDOR_NAME/YOUR_PACKAGE_NAME",
"version": "0.0.1",
"type": "library",
"source": {
"type": "git",
"url": "git@bitbucket.org:BITBUCKET_USERNAME/REPOSITORY_SLUG.git",
"reference": "COMMIT_HASH"
}
}
}],
"require": {
"YOUR_PACKAGE_VENDOR_NAME/YOUR_PACKAGE_NAME": "0.0.1"
}
}