/ / Zastosuj zatwierdzenia z jednego repozytorium git do podfolderu innego repozytorium - git, github

Zastosuj zatwierdzenia z jednego repozytorium git do podfolderu innego repozytorium - git, github

Wcześniejsze repozytorium było na Githubie, powiedzmy"droid". Rozwidlałem go i dodawałem kilka poprawek do mojego widelca. Ale "droid" repozytorium został przeniesiony do podfolderu do innego istniejącego repozytorium, powiedzmy "allRepo", a teraz jest w "allRepo / droid". Rozwidlałem to też. Czy mogę przenieść moje zatwierdzenia z my_fork_1 do my_fork_2 (lub lokalnie) i kontynuować pracę z my_fork_2, który jest widelcem "allRepo"?

Odpowiedzi:

3 dla odpowiedzi № 1

Tworzenie jakiegoś wcześniej oddzielnego projektu (z jego własnym oddzielnym repozytorium i oddzielną historią) częścią jakiegoś większego projektu w jakimś podkatalogu (podtree) jest poddrzewo scalaniai jest opisany np. w "Jak korzystać ze strategii łączenia poddrzewa" HOWTO w dokumentacji git, "Narzędzia Git - Zgrupowanie podtekstów" rozdział w książce "Pro Git" (licencja CC-NC-SA 3.0), oraz "Praca z poddrzewo scalaniem" Strona pomocy GitHub (w sekcji Zaawansowane Git).

Zauważ, że musisz skonfigurować tylko poddrzewopewnego razu; wszystkie przyszłe połączenia od repozytorium projektu do repo całego projektu zostaną automatycznie zastosowane. Możesz też przełączyć się na repozytorium całego projektu po scaleniu swoich zatwierdzeń.

Jest również git subtree dowództwo, dostępne w contrib powierzchnia od gita 1.7.11


2 dla odpowiedzi nr 2

Jedno rozwiązanie, nie stosuje różnicy między pierwszym gitem a drugim

W pierwszym repozytorium:

git diff <hash> <hash>~1 > patch

W sekundę:

git apply /some/path/to/the/patch
git commit

I otrzymaj wiadomość o pierwszym repo z następującym poleceniem:

git log <hash> -n 1 | tail -n+5 | sed -e "s/^ *//"