Cześć.
Robię aplikację o takiej strukturze:
└─ .
└─ project
├─ backend
│ └─ .git
├─ frontend
│ └─ .git
└─ other_file.txt
Przy rozwoju aplikacji commituje do dwóch osobnych repozytoriów.
Mam też pliki poza katalogami frontend i backend które nie są śledzone a powinny.
Uznałem że prowadzenie tego dalej w taki sposób to nie jest dobry pomysł.
W jaki prosty sposób mógłbym połączyć te dwa repozytoria w jedno i zachować commity?
Zakładając że chcesz połączyć tylko główne branche (np master
jednego z master
em drugiego), to zrób tak:
- Dodaj remote jednego do drugiego (nie musi być wypchnięty,
remote
może wskazywać na lokalną ścieżkę)
- Zrób
git fetch --all
- i zrób merga tych dwóch gałęzi z flagą
--allow-unrelated-histories
Jeśli chcesz zachować wszystkie branche, to mógłbyś zrobić z tych istniejących repozytoriów submoduły, używając git submodule
. Wtedy miałbyś:
└─ .
└─ project
├─ .git # repo
├─ backend
│ └─ .git # submodule
├─ frontend
│ └─ .git # submodule
└─ other_file.txt