Comment renommer ma twig git ‘master’ en ‘release’?

Nous souhaitons imposer une nouvelle politique à nos projets pour que la twig principale soit maintenant appelée la twig de publication afin de s’assurer de la manière dont la twig doit être utilisée. Naturellement, nous aurons également développé et libéré des twigs candidates.

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

git branch -m master release 

Cependant, ce n’est que localement. Même si je le mets à la télécommande, le HEAD pointe toujours vers la twig principale distante. Je veux me débarrasser complètement de la twig principale et créer la twig locale par défaut lors du clonage initial.

Comment puis-je atteindre cet objective?

EDIT: Il semble que depuis l’origine sur un serveur de bonne qualité, je reçois des erreurs en supprimant la twig master. J’essaie maintenant de voir s’il est possible de changer cela pour que la twig par défaut soit “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 principale

 git checkout master 

Créez votre twig de publication et sélectionnez-la

 git branch release git checkout release 

Poussez ça sur le serveur

 git push origin release 

Supprimer la référence de twig principale sur le serveur

 git push origin :master 

Supprimer la twig principale locale

 git branch -d master 

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. L’une consiste à se connecter au serveur gitorious (avec ssh), à trouver le git-repository sur le serveur de fichiers et à append:

 [receive] denyDeleteCurrent = warn 

à la config.

Une option plus simple consiste simplement à modifier la twig par défaut. Allez dans votre référentiel dans l’interface Web, appuyez sur “Modifier le référentiel”, et définissez “Modifier la tête de la référence symbolique que HEAD pointe dans le référentiel git:”. Après cela, vous pouvez supprimer la twig principale.

Remarque: Cette réponse est destinée aux serveurs git auto-hébergés sur lesquels vous disposez d’un access à la ligne de commande.

Etant donné que tenter de supprimer le remote master d’un client n’est pas autorisé et que je présume que interdire denyDeleteCurrent sens, je ne voudrais pas modifier ce paramètre.

Cependant, j’ai trouvé que le moyen le plus simple de renommer votre maître si vous avez un access en ligne de commande au serveur distant consiste à exécuter la commande de renommage directement sur la télécommande.

Cela a fonctionné pour moi:

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

Désormais, le référentiel distant utilise la release comme twig par défaut et tout git clone sur ce référentiel à partir de n’importe quel client extrait la twig de publication par défaut.

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

Idéalement, vous voulez configurer le suivi, 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!