J'ai une branche que j'aimerais déplacer dans un référentiel Git séparé, et idéalement garder l'historique de cette branche dans le processus. Jusqu'à présent, j'ai regardé git filter-branch
, mais je ne peux pas savoir s'il peut faire ce que je veux faire.
Comment extraire une branche Git dans son propre référentiel?
git push url://to/new/repository.git branch-to-move:new-branch-name
warning: remote HEAD refers to nonexistent ref, unable to checkout.
. Si déjà à ce stade, allez-ygit checkout -b branch-to-move
et vous êtes en sécurité ou allez simplement avecgit checkout -b master
votre branche principale :)git checkout -b master
a résolu mon problème, il était à l'écranerror: src refspec master does not match any.
(je me demande seulement pourquoi je n'ai pas vu le nom de la branche où j'étais) Merciurl
devrait être une url git, comme [email protected]: brianzelip / groceries.git; 3)branch-to-move
est la branche du repo actuel que vous souhaitez transformer en nouveau repo; 4)new-branch-name
est le nom que vous voulez pour la nouvelle branche dans le nouveau repo en cours de création, à savoir:master
.Cela conservera l'historique de toutes les branches, mais fera pointer votre copie vers une branche en particulier:
Cela ne «bouge» rien, fait juste une copie.
la source
clone -b
c'est nouveau. Il nécessite git> = 1.6.5 (publié en octobre 2009).