Importer un dépôt git, avec toute son histoire dans un dépôt git
J'ai deux dépôts git et je tiens à les fusionner, sans perdre leur commettre des histoires. J'ai essayé ceci:
cd firstRepo
git remote add other path/to/otherRepo
git fetch other
git checkout -b otherRepoBranch other/master
echo "`git rev-list otherRepoBranch | tail -n 1` `git rev-list master | head -n 1`" >> .git/info/grafts
git rebase otherRepoBranch master
Maintenant, quand je regarde la validation de l'histoire tout semble bon, mais les seuls fichiers que j'ai dans mon référentiel sont maintenant ceux de otherRepo.
Des idées?
Cheers,
Merlyn
OriginalL'auteur Curious Attempt Bunny | 2011-05-13
Vous devez vous connecter pour publier un commentaire.
Je le prends les dépôts git ne sont pas liés? Comme dans ils sont distincts des référentiels pour les différents projets que vous souhaitez fusionner pour former un dépôt combiné? Si oui, alors il est possible que les références suivantes peuvent vous aider:
La combinaison de plusieurs dépôts git.
La fusion de deux indépendants des dépôts.
Jamais après que solution?
OriginalL'auteur Phil Street
Définitif article aborde le cas simple dans le paragraphe d'ouverture -- et adresses les plus susceptibles de cas que son sujet principal: Comment utiliser le sous-arbre de fusion de la stratégie
La validation de l'histoire des deux dépôts est préservée.
Voici ma version, fondé sur l'article référencé ci-dessus...
--allow-unrelated-histories
à lagit merge
commande: stackoverflow.com/a/37938036/376366OriginalL'auteur nobar
Je sais que c'est un peu tard, mais pour quiconque cherche toujours une façon de le faire, j'ai recueilli beaucoup d'informations ici sur StackOverFlow, etc., et ont réussi à se mettre un script qui permet de résoudre le problème pour moi.
Le script en fait même les poignées de branches et de tags - les renommer dans le nouveau projet de sorte que vous savez d'où ils viennent.
Je sais que c'est un peu tard, mais pour quiconque cherche toujours une façon de le faire, j'ai recueilli beaucoup d'informations ici sur StackOverFlow, etc., et ont réussi à se mettre un script qui permet de résoudre le problème pour moi.
Le script en fait même les poignées de branches et de tags - les renommer dans le nouveau projet de sorte que vous savez d'où ils viennent.
Vous pouvez également l'obtenir auprès de http://paste.ubuntu.com/11732805/
D'abord créer un fichier avec l'URL de chaque dépôt, par exemple:
Puis d'appeler le script de donner un nom de projet et le chemin d'accès au script:
Le script lui-même a beaucoup de commentaires qui doit expliquer ce qu'il fait.
Modifié pour remplacer le script avec une plus supérieure.
OriginalL'auteur eitch
Dans le cas le plus simple où vous souhaitez que tous les fichiers à partir de deux dépôts après la fusion, vous devriez être en mesure de simplement utiliser git merge:
Fusionner jamais roule jusqu'à la validation de l'histoire en un seul commit. Vous devez être source de confusion avec une autre méthode.
OriginalL'auteur Jesse Hallett
Ces semblaient tous très dur et compliqué... pourquoi ne pas simplement:
OriginalL'auteur MichaelICE
ont été oubliés dans la fin.
Ce qui est nécessaire pour appliquer le rebase sur la branche master.
OriginalL'auteur Tobias Renz