Предположим, есть репозиторий проекта (на GitHub) и моя вилка (также на GitHub). Моя вилка идентична, кроме одной ревизии в один файл (исправление ошибки), которая еще не была принята репозиторием проекта. Я пытаюсь предоставить третьим лицам инструкции по установке о том, как загрузить последнюю версию программного обеспечения, включая исправление ошибок.Cherrypick единственная ревизия из удаленного хранилища?
Насколько я знаю, они должны сделать это:
git clone http://projectrepo
git remote add myrepo http://myrepo
git fetch myrepo
git cherry-pick a12345
git remote rm myrepo
(Предположим, я не намерен поддерживать myrepo до настоящего времени - я бы хотел, чтобы мои инструкции переживет мою причастность к проекту , которая может закончиться в ближайшее время также предположить, что другие изменения могут иметь место в этот файл, так просто скачать копию всего файла не безопасно)
несколько suboptimalities с этим:..
- Они необходимо передать два целых репозитория Git
- Это три дополнительные команды, чтобы получить один файл.
Есть ли лучшие решения? Можете ли вы получить одну ревизию более простым способом?
Используйте протокол git, git: // somerepo, это намного быстрее. git редко, если когда-либо тянет объекты, которые у вас уже есть, им все равно, откуда пришли объекты. – jthill
Зачем им нужно применять патчи самостоятельно? не можете ли вы указать их на свое репо, которое уже включает исправление ошибки? – CharlesB
@CharlesB: см. Утверждение об отсутствии поддержки myrepo. –