2011-12-14 16 views
8

Załóżmy, że mam zdalne repozytorium ([email protected]:project.git) o następującej strukturze:dodać lokalne repozytorium jako sub katalogu zdalnego repozytorium

./client 
./server 

A potem stworzył lokalnym repozytorium w katalogu ~/myproject/test użyciu git init; git add . ; git commit -m "init check in ". Chcę pchnąć tę lokalne repozytorium do zdalnego repozytorium jako podkatalogu test układ równoległy z client i server, czyli

./client 
./server 
./test 

Życzę wszystkim check-in historii w lokalnym mogą być przechowywane w zdalnym repozytorium . Czy jest jakiś sposób, aby to osiągnąć? Dzięki!

Odpowiedz

6

Zwykłym rozwiązaniem jest użycie subtree merge strategy.

Aby uzyskać szczegółowe informacje, patrz "Git subtree merge strategy, possible without merging history?".


Jednym z innych rozwiązań byłoby zadeklarowanie lokalnego repozytorium jako submodułu zdalnego repo.

Do tego będzie potrzebne:

Ale jeśli twoje pliki testowe są ściśle powiązane z twoim projektem, prawdopodobnie nie jest to najlepsze rozwiązanie.

1

Poprzednie odpowiedzi nie działały dla mnie (potrzebowałem więcej szczegółów: Git beginner tutaj ;-), natomiast https://git-scm.com/book/en/v2/Git-Tools-Submodules zrobił to doskonale z podejściem krok po kroku. Objaśnia również obie metody łączenia/odrzucania historii.

+0

Link jest uszkodzony od 2016.03.27. – adam0404

+0

Link jest OK od 2017.08.24. – Erathiel

Powiązane problemy