J'ai 4 branches comme maître -> origine/régacy, FeatureA -> origine/FeatureA.
Comme vous pouvez le voir ci-dessus, j'ai tapé un mauvais nom.
Je souhaite donc renommer un nom de branche distante (Origin/Regacy => Origin/Legacy ou Origin/Master)
J'essaie de commander ci-dessous.
héritage de regacy regit à distance git
Mais la console git a retenu l'erreur msg pour moi.
erreur: impossible de renommer la section de configuration 'remote.regacy' en 'remote.legacy'
Comment puis-je résoudre ce problème?
Vous ne pouvez pas renommer directement une branche distante.
Vous devez le supprimer, puis le repousser.
# rename the local branch to the new name
git branch -m <old_name> <new_name>
# delete the old branch on remote - where <remote> is eg. Origin
git Push <remote> --delete old_name
# Push the new branch to remote
git Push <remote> new_name
# Reset the upstream branch for the new_name local branch
git Push <remote> -u new-name
Lorsque vous utilisez le git branch -m
(déplacer), git est également met à jour votre branche de suivi avec le nouveau nom.
git remote rename legacy legacy
git remote rename
tente de mettre à jour votre section distante dans votre fichier de configuration. Il renommera la télécommande avec le nom donné en nouveau nom, mais dans votre cas, il n'en a trouvé aucun. Le changement de nom a donc échoué.
Mais il ne fera pas ce que vous pensez, il renommera votre nom distant local config et not la branche distante.
Note Les serveurs Git peuvent vous permettre de renommer une branche git à l'aide de l'interface Web ou de programmes externes (tels que Sourctree, etc.), mais vous devez garder à l'esprit que tout le travail est effectué localement, il est donc recommandé de l'utiliser. les commandes ci-dessus au travail.
Si vous avez mal nommé une branche ET que cela a été transféré dans le référentiel distant, procédez comme suit pour renommer cette branche ( en fonction de cet article ):
Renommez votre branche locale:
Si vous êtes sur la branche que vous souhaitez renommer:git branch -m new-name
Si vous êtes sur une autre branche:git branch -m old-name new-name
Supprimez la branche distante old-name
et appuyez sur la branche locale new-name
:git Push Origin :old-name new-name
Réinitialise la branche en amont de la branche locale du nouveau nom:
Basculez vers la branche puis:git Push Origin -u new-name
Il semble qu'il existe un moyen direct:
Si vous voulez juste renommer les branches à distance (sans renommer les branches locales en même temps), vous pouvez le faire avec une seule commande comme
git Push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
Voir la réponse originale pour plus de détails
Cela peut être fait de la manière suivante_
At first rename local branch, then remote branch.
Renommer une branche locale:
Si connecté dans une autre branche_
git branch -m old_branch new_branch
Si connecté même branche_
git branch -m new_branch
Renommer une branche distante:
git Push Origin :old_branch // delete remote branch
git Push --set-upstream Origin new_branch // create new remote branch
Cela peut être fait même sans renommer la branche locale en trois étapes simples,
Il n'y a pas de méthode directe,
Renommer une branche locale ,
ma branche actuelle est master
git branch -m master_renamed
#master_renamed est le nouveau nom du maître
Supprimer une branche distante,
git Push Origin --delete master
#Origin is remote_name
Transférer une branche renommée en distante,
git Push Origin master_renamed
c'est tout...
J'utilise ces alias git et cela fait presque tout le travail automatiquement:
git config --global alias.move '!git checkout master; git branch -m $1 $2; git status; git Push --delete Origin $1; git status; git Push -u Origin $2; git branch -a; exit;'
Utilisation: git move FROM_BRANCH TO_BRANCH
Cela fonctionne si vous avez les noms par défaut comme maître, origine, etc. Vous pouvez modifier à votre guise, mais cela vous en donne l’idée.