2009-08-25 13 views
5

Mam projekt, nad którym pracowałem, zwany "systemem", który skonfigurowałem jako repozytorium. Ciągnę i pcham do projektu (system.git).Jak scalić istniejące repozytorium git w puste i zachować historię?

Teraz chcę opublikować go na stronie takiej jak github. Jaki jest najlepszy sposób, aby wziąć mój obecny projekt i wprowadzić go do nowego projektu Github bez utraty mojej historii?

Dzięki!

Odpowiedz

9

Utwórz repo na Github.

Wtedy ustawić początek tego projektu

git remote add origin [git hub url] 

Następnie wykonaj:

git push origin [branch name] 

I będziesz pchania się z lokalnym repozytorium do Github (z całej historii etc)

+1

Dziękuję za pierwsze gwizdy. Najpierw musiałem zrobić "git remote rm origin", potem mogłem to zmienić. Musiałem wtedy zrobić "mistrza git pull origin", aby połączyć gałąź master. Wtedy mógłbym zrobić "git push origin master". Niesamowite! Jeszcze raz dzięki! – Dooltaz

+1

Mogłeś zmusić go do wypychania przez 'git push [git hub url] + refs/heads/*: refs/heads/*' –

+0

Lub "git push origin --all --tags", aby przesunąć wszystkie gałęzie i znaczniki . –

2

To jest naprawdę odpowiedź na komentarz hackera na temat odpowiedzi z ghills, ale zrobiło się trochę długo, a SO nie lubił, gdybym w komentarzu wstawił garść kodu.

... lub możesz użyć nazwy innej niż "pochodzenie". Na przykład mam repozytorium, w którym moja gałąź "master" przesuwa się na jedno repozytorium github, a gałąź "hackująca" przesuwa się na inną.

W .git/config, mam to:

[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = [email protected]:xiongchiamiov/fourU.git 
[branch "hacking"] 
    remote = origin 
    merge = refs/heads/hacking 
[remote "main"] 
    url = [email protected]:xyztextbooks/fourU.git 
    fetch = +refs/heads/*:refs/remotes/main/* 
[branch "master"] 
    remote = main 
    merge = refs/heads/master 
0

This jest również przydatna do zarządzania śledzenie odległych oddziałów.

Powiązane problemy