Vous pouvez fetch one into another:
$ cd project1
$ git config remote.project2.url /path/to/project2
$ git config remote.project2.fetch 'refs/heads/*:refs/project2/*'
$ git fetch project
Cela vous donnera deux (ou plus) branches, contenant l'histoire de la project1 et Projet2. Ils sont encore complètement indépendants, il suffit d'utiliser le même magasin d'objets.
Puis (non testé), vous pouvez utiliser un fichier de greffe (.git/info/grafts
) où vous pouvez remplacer le parent d'un commit (comme le premier de Projet2 ayant pour parent le dernier de project1)
Comme Dustin dit dans les commentaires, une rebase est en ordre afin de la "rendre permanente", en rejouant project2 commits sur project1.
Vous avez une autre illustration dans cette entrée de blog « Using Git within a project (forking around) », en particulier la section « Comment tirer des amis et influencer les gens ». Encore une fois:
git checkout two_point_ooh
git remote add strelau git://gitorious.org/ruby-on-rails-tmbundle/mainline.git
git checkout -b strelau/two_point_ooh
git pull strelau two_point_ooh
est un processus similaire, mais pour les dépôts qui sont en forme de fourche (qui est pas exactement votre cas)
Notez que vous devez changer la base après la greffe sorte de le rendre « permanent ». – Dustin