web-dev-qa-db-fra.com

Comment dupliquer un dépôt git? (sans bifurquer)

J'ai deux référentiels, et je dois copier tout un sur l'autre vide qui a des niveaux d'accès différents du premier. La copie et le référentiel mère ne doivent pas être liés.

Je suis nouveau sur Git et ce serait génial si quelqu'un pouvait m'aider avec ça.

81
cowboybebop

Voir https://help.github.com/articles/duplicating-a-repository

Version courte:

Pour créer une copie exacte, vous devez effectuer un clone nu et un push-miroir:

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

NOTE: ce qui précède fonctionnera bien avec n’importe quel dépôt Git distant, les instructions ne sont pas spécifiques à github

Ce qui précède crée une nouvelle copie distante du référentiel. Puis clonez-le sur votre machine en fonctionnement.

149
Larry K

Vous pouvez aussi utiliser git-copy .

Installez-le avec Gem,

gem install git-copy

Ensuite

git copy https://github.com/exampleuser/old-repository.git \
    https://github.com/exampleuser/new-repository.git
18
Quanlong

Si vous copiez sur GitHub, vous pouvez utiliser GitHub Importer pour le faire à votre place. Le référentiel d'origine peut même provenir d'autres systèmes de contrôle de version.

4
Mateus Gondim

Si vous souhaitez simplement créer un nouveau référentiel en utilisant tout ou partie des fichiers d'un fichier existant (c.-à-d. En tant que modèle), je trouve que l'approche la plus simple consiste à créer un nouveau référentiel avec le nom souhaité, etc. votre bureau, puis ajoutez-y simplement les fichiers et les dossiers que vous souhaitez.

Vous n'avez pas toute l'histoire, etc., mais vous ne voulez probablement pas cela dans ce cas.

3
tim

Terminal ouvert.

Créez un clone nu du référentiel.

git clone --bare https://github.com/exampleuser/old-repository.git

Mirror-Push to the new repository.

cd old-repository.git

git Push --mirror https://github.com/exampleuser/new-repository.git

0
Kundan roy