Comment renommer ma twig git 'master' en 'release'?

Nous aimerions appliquer une nouvelle politique pour nos projets, à savoir que la twig principale s'appelle maintenant la twig de publication afin de s'assurer que la façon dont la twig doit être utilisée est plus claire. Naturellement, nous aurons également développer et libérer des twigs candidates.

Je comprends que je peux renommer la twig maître localement en utilisant simplement ce qui suit:

git branch -m master release 

Cependant, ce n'est que localement. Même si je pousse la télécommand, la HEAD pointe toujours vers la twig principale distante. Je veux me débarrasser complètement de la twig master et faire la twig locale par défaut lors du clonage initial, soit release.

Comment puis-je atteindre cet objective?

EDIT: Il semble que depuis l'origine est sur un server gitorious, j'obtiens des erreurs en supprimant la twig master. J'essaie de voir maintenant s'il est possible de changer cela pour que la twig par défaut soit 'release'.

Solutions Collecting From Web of "Comment renommer ma twig git 'master' en 'release'?"

 git checkout -b release master # create and switch to the release branch git push -u origin release # push the release branch to the remote and track it git branch -d master # delete local master git push --delete origin master # delete remote master git remote prune origin # delete the remote tracking branch 

Commander votre twig maîtresse

 git checkout master 

Créez votre twig de publication et passez à celle-ci

 git branch release git checkout release 

Pousse ça au server

 git push origin release 

Supprimer la reference de la twig principale sur le server

 git push origin :master 

Supprimer la twig principale locale

 git branch -d master 

Idéalement, vous voulez configurer le suivi, alors faites ceci:

 git push origin HEAD:release git checkout --track origin/release 

Maintenant, vous voulez supprimer les autres?

 git branch -d master git push origin :master 

Simple!

Comme indiqué précédemment par d'autres, le problème ici est Gitorious, qui ne vous permet pas de supprimer la twig HEAD par défaut. Vous avez deux options pour contourner ce problème. La première consiste à se connecter au server govérieux (avec ssh), à find le repository git sur le server de files et à append:

 [receive] denyDeleteCurrent = warn 

à la config.

Une option plus simple consiste simplement à changer la twig par défaut. Accédez à votre référentiel dans l'interface Web gitorious, appuyez sur "Modifier le référentiel", et réglez "Head Change the ref symbolique la HEAD dans le référentiel git pointe vers:". Après avoir fait cela, vous pouvez supprimer la twig principale.

Remarque: Cette réponse est destinée aux servers git auto-hébergés disposant d'un access par command line.

Comme essayer de supprimer le remote master d'un client n'est en effet pas autorisé et je suppose que interdire denyDeleteCurrent sens, je ne voudrais pas changer ce paramètre.

Cependant, j'ai trouvé que la façon la plus simple de renommer votre maître si vous avez un access en command line au server distant est d'exécuter la command renommer directement sur la télécommand.

Cela a fonctionné pour moi:

  1. Connectez-vous via SSH au server git distant
  2. Allez dans le dossier xxx.git de votre projet
  3. run: git branch -m master release

Maintenant, le référentiel distant utilise la release comme twig par défaut et tout git clone sur ce référentiel de n'importe quel client vérifie la twig de publication par défaut.

Très utile également après avoir configuré un référentiel nu pour le configurer selon vos besoins.