Merge репозиторий (6)

Всем привет Трудно быть начинающим в сфере IT, по этому решил обратиться за помощью так как отстаю от своего обучения.

На Git у меня 6 разных репозиторий В процессе пропустил детали гита и теперь страдаю, так как нужен только один репозиторий и все.

Помогите разобраться как сделать merge всех репозиторий в один и при этом что бы я мог сохранить все изменения с самого старта, что бы видеть как мой проект менялся все это время.

Заранее всем спасибо !!!

Фото всех репозиторий с гита

Remote - у меня сейчас самый первый репозиторий git-test.


Ответы (1 шт):

Автор решения: Serge-V

Это уже обсуждалось, ответ здесь git merge different repositories. Если кратко на русском, то будет примерно так.

Чтобы влить коммиты проекта A в проект B, нужно:

  1. перейти в проект B, перейти на ветку, в которую будем вливать проект A:

    cd путь_к_репозиторию_B
    git checkout имя_нужной_ветки_в_репозитории_B
    
  2. для удобства задаем ссылку на репозиторий А. Имя лучше взять отличное от общепринятого origin, чтобы потом было понятно, из какого проекта мы влили коммиты:

    git remote add имя_ссылки_на_репозиторий_А ссылка_на_репозиторий_А
    
  3. и мержим:

    получаем изменения с репозитория А:

    git fetch имя_ссылки_на_репозиторий_А 
    
    git merge --allow-unrelated-histories имя_ссылки_на_репозиторий_А/имя_ветки_репозитория_А
    
  4. Удаляем ссылку на репозиторий А:

    git remote remove имя_ссылки_на_репозиторий_А
    

Опцию --allow-unrelated-histories можно не использовать начиная с версии гита 2.9. Узнать версию гита можно так:

git --version
→ Ссылка