Регаешься на packagist.org, сабмитишь туда ссылку на свой репозиторий (который должен иметь composer.json с именем пакета), друг делает composer require vasyan/super-package.
Не очень понял, что вам нужно, но есть метод using для отношения BelongsToMany, который позволяет задать модель для Pivot таблицы. Думаю, что у нее можно прописать дополнительное отношение.
Дело в том, что в папке development они были удалены и Git при слиянии выполняет то же действие и в ветке master.
Нужно их опять добавить в папку, но чтобы они сразу игнорировались, тогда Git не будет ничего делать с ними.
Не очень понял, что Вам нужно, но git pull URL branch_name по идее должен работать.
Это зальёт изменения в вашу текущую ветку из branch_name репозитория, расположенного по URL.