Mam dwa repozytoria i muszę skopiować jeden na drugi, pusty, który ma inne poziomy dostępu niż pierwszy. Kopia i repozytorium macierzyste nie powinny być ze sobą połączone.
Jestem nowy w git i byłoby wspaniale, gdyby ktoś mógł mi w tym pomóc.
Mam dwa repozytoria i muszę skopiować jeden na drugi, pusty, który ma inne poziomy dostępu niż pierwszy. Kopia i repozytorium macierzyste nie powinny być ze sobą połączone.
Jestem nowy w git i byłoby wspaniale, gdyby ktoś mógł mi w tym pomóc.
Odpowiedzi:
Zobacz https://help.github.com/articles/duplicating-a-repository
Krótka wersja:
Aby wykonać dokładny duplikat, musisz wykonać zarówno nagi klon, jak i wypychanie lustrzane:
mkdir foo; cd foo
# move to a scratch dir
git clone --bare https://github.com/exampleuser/old-repository.git
# Make a bare clone of the repository
cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git
# Mirror-push to the new repository
cd ..
rm -rf old-repository.git
# Remove our temporary local repository
UWAGA: powyższe będzie działać dobrze z każdym zdalnym repozytorium git, instrukcje nie są specyficzne dla github
Powyższe tworzy nową zdalną kopię repozytorium. Następnie sklonuj go do działającej maszyny.
Jeremy.git
Jeremy.git
Możesz także użyć git-copy .
Zainstaluj go za pomocą Gem,
gem install git-copy
Następnie
git copy https://github.com/exampleuser/old-repository.git \
https://github.com/exampleuser/new-repository.git
sudo apt install ruby
.
Jeśli kopiujesz do GitHub, możesz skorzystać z importera GitHub, aby zrobić to za Ciebie. Oryginalne repozytorium może pochodzić nawet z innych systemów kontroli wersji.
Jeśli chcesz po prostu utworzyć nowe repozytorium, używając wszystkich lub większości plików z istniejącego (tj. Jako rodzaj szablonu), uważam, że najłatwiejszym podejściem jest utworzenie nowego repozytorium o żądanej nazwie itp., Sklonuj je do na pulpicie, a następnie po prostu dodaj pliki i foldery, które chcesz w nim umieścić.
Nie masz całej historii itp., Ale prawdopodobnie nie chcesz tego w tym przypadku.
Otwórz terminal.
Utwórz czysty klon repozytorium.
git clone --bare https://github.com/exampleuser/old-repository.git
Mirror-push to the new repository.
cd stare repozytorium.git
git push --mirror https://github.com/exampleuser/new-repository.git