-
1. DĂ©marrage rapide
-
2. Les bases de Git
-
3. Les branches avec Git
-
4. Git sur le serveur
- 4.1 Protocoles
- 4.2 Installation de Git sur un serveur
- 4.3 Génération des clés publiques SSH
- 4.4 Mise en place du serveur
- 4.5 DĂ©mon (Daemon) Git
- 4.6 HTTP intelligent
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Git hébergé
- 4.10 Résumé
-
5. Git distribué
-
6. GitHub
-
7. Utilitaires Git
- 7.1 SĂ©lection des versions
- 7.2 Indexation interactive
- 7.3 Remisage et nettoyage
- 7.4 Signer votre travail
- 7.5 Recherche
- 7.6 RĂ©Ă©crire lâhistorique
- 7.7 Reset démystifié
- 7.8 Fusion avancée
- 7.9 Rerere
- 7.10 DĂ©boguer avec Git
- 7.11 Sous-modules
- 7.12 Empaquetage (bundling)
- 7.13 Replace
- 7.14 Stockage des identifiants
- 7.15 Résumé
-
8. Personnalisation de Git
- 8.1 Configuration de Git
- 8.2 Attributs Git
- 8.3 Crochets Git
- 8.4 Exemple de politique gérée par Git
- 8.5 Résumé
-
9. Git et les autres systĂšmes
- 9.1 Git comme client
- 9.2 Migration vers Git
- 9.3 Résumé
-
10. Les tripes de Git
- 10.1 Plomberie et porcelaine
- 10.2 Les objets de Git
- 10.3 Références Git
- 10.4 Fichiers groupés
- 10.5 La refspec
- 10.6 Les protocoles de transfert
- 10.7 Maintenance et récupération de données
- 10.8 Les variables dâenvironnement
- 10.9 Résumé
-
A1. Annexe A: Git dans dâautres environnements
- A1.1 Interfaces graphiques
- A1.2 Git dans Visual Studio
- A1.3 Git dans Visual Studio Code
- A1.4 Git dans IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git dans Sublime Text
- A1.6 Git dans Bash
- A1.7 Git dans Zsh
- A1.8 Git dans PowerShell
- A1.9 Résumé
-
A2. Annexe B: Embarquer Git dans vos applications
- A2.1 Git en ligne de commande
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Commandes Git
- A3.1 Installation et configuration
- A3.2 Obtention et création des projets
- A3.3 Capture dâinstantanĂ© basique
- A3.4 Création de branches et fusion
- A3.5 Partage et mise Ă jour de projets
- A3.6 Inspection et comparaison
- A3.7 DĂ©bogage
- A3.8 Patchs
- A3.9 Courriel
- A3.10 SystĂšmes externes
- A3.11 Administration
- A3.12 Commandes de plomberie
6.3 GitHub - Maintenance dâun projet
Maintenance dâun projet
Maintenant que vous ĂȘtes Ă lâaise sur les aspects contribution Ă un projet, regardons maintenant lâautre cĂŽtĂ©Â : la crĂ©ation, la maintenance et lâadministration de vos propres projets.
CrĂ©ation dâun nouveau dĂ©pĂŽt
CrĂ©ons un nouveau dĂ©pĂŽt pour permettre le partage du code de notre projet avec dâautres.
Commencez par cliquer sur le bouton « New repository » (nouveau dépÎt) sur le cÎté droit de votre tableau de bord ou sur le bouton +
dans la barre dâoutils du haut Ă cĂŽtĂ© de votre nom dâutilisateur comme sur la figure La liste dĂ©roulante « New repository » (nouveau dĂ©pĂŽt).
Vous ĂȘtes redirigĂ© vers le formulaire pour la crĂ©ation de nouveau dĂ©pĂŽt :
Tout ce que vous avez Ă faire, câest de fournir un nom de projet, les autres champs sont facultatifs.
Pour lâinstant, cliquez juste sur le bouton « Create Repository » (crĂ©er un dĂ©pĂŽt) et paf, vous obtenez un nouveau dĂ©pĂŽt sur GitHub nommĂ© <utilisateur>/<nom_du_projet>
.
Puisque vous nâavez pas encore de code, GitHub vous affiche des instructions sur la façon de crĂ©er un tout nouveau dĂ©pĂŽt Git ou de se connecter Ă un projet Git existant. Nous ne dĂ©taillerons pas cela ici ; si vous avez besoin dâun rappel, vĂ©rifiez Les bases de Git.
Maintenant que votre projet est hĂ©bergĂ© sur GitHub, vous pouvez donner lâURL Ă toutes les personnes avec lesquelles vous voulez partager votre projet.
Chaque projet est accessible via HTTP par https://github.com/<utilisateur>/<nom_du_projet>
et via SSH par git@github.com:<utilisateur>/<nom_du_projet>
.
Git peut rĂ©cupĂ©rer et pousser en utilisant les deux URL mais lâaccĂšs est contrĂŽlĂ© sur la base des paramĂštres dâauthentification de lâutilisateur qui sây connecte.
Note
|
Il est souvent mieux de partager lâURL basĂ© sur HTTP pour un projet public puisque lâutilisateur nâa pas besoin dâavoir un compte GitHub pour y accĂ©der et pour le cloner. Les utilisateurs devront possĂ©der un compte et avoir dĂ©posĂ© une clĂ© SSH pour accĂ©der Ă votre projet si vous leur donnez lâURL SSH. LâURL HTTP est Ă©galement exactement le mĂȘme que celui que vous colleriez dans votre navigateur pour y afficher le projet. |
Ajout de collaborateurs
Si vous travaillez avec dâautres personnes Ă qui vous voulez donner lâaccĂšs en poussĂ©e, vous devez les ajouter en tant que « collaborateurs ». Si Ben, Jeff et Louise possĂšdent tous un compte GitHub et que vous voulez quâils puissent pousser sur votre dĂ©pĂŽt, vous pouvez les ajouter Ă votre projet. En faisant cela, vous leur donnez un accĂšs en poussĂ©e ce qui signifie quâils possĂšdent un accĂšs en lecture et en Ă©criture au projet et au dĂ©pĂŽt Git.
Cliquez sur le lien « Settings » (paramÚtres) en bas de la barre latérale de droite.
Ensuite sĂ©lectionnez « Collaborators » dans le menu de gauche, saisissez un nom dâutilisateur dans la boĂźte et cliquez sur « Add collaborator » (ajouter un collaborateur). Vous pouvez rĂ©pĂ©ter cette action autant de fois que vous le voulez pour permettre lâaccĂšs Ă toutes les personnes que vous souhaitez. Si vous devez rĂ©voquer leur accĂšs, il suffit de cliquer sur le « X » Ă droite de leur nom.
Gestion des requĂȘtes de tirage
Maintenant que vous possĂ©dez un projet contenant un peu de code et peut-ĂȘtre mĂȘme quelques collaborateurs qui possĂšdent un accĂšs en poussĂ©e, voyons ce que vous devez faire lorsque vous recevez vous-mĂȘme une requĂȘte de tirage.
Les requĂȘtes de tirage peuvent provenir soit dâune branche dâun clone de votre dĂ©pĂŽt ou dâune autre branche du mĂȘme dĂ©pĂŽt. La seule diffĂ©rence est que celles dâun clone proviennent souvent de personnes vers lesquelles vous ne pouvez pas pousser sur leurs branches et qui ne peuvent pas pousser vers les vĂŽtres alors quâavec des requĂȘtes de tirage internes, les deux parties peuvent gĂ©nĂ©ralement accĂ©der Ă la branche.
Pour ces exemples, supposons que vous ĂȘtes « tonychacon » et que vous avez crĂ©Ă© un nouveau projet de code Arduino qui sâappelle « fade ».
Notifications par courriel
Quelquâun se connecte et fait une modification Ă votre programme et vous envoie une requĂȘte de tirage. Vous devriez recevoir un courriel vous informant de cette nouvelle requĂȘte de tirage et ressemblant Ă celui sur la figure Notification par courriel dâune nouvelle requĂȘte de tirage..
Faisons quelques remarques Ă propos de ce courriel. Celui-ci vous fournit quelques statistiques : une liste de fichiers modifiĂ©s par la requĂȘte de tirage et le nombre de modifications. Il vous donne un lien vers la requĂȘte de tirage sur GitHub et il vous fournit Ă©galement quelques URL que vous pouvez utiliser en ligne de commande.
Remarquez la ligne git pull <url> patch-1
, il sâagit dâune maniĂšre simple de fusionner une branche distante sans avoir Ă ajouter un dĂ©pĂŽt distant.
Nous avons déjà vu rapidement cela dans Vérification des branches distantes.
Si vous voulez, vous pouvez crĂ©er une branche thĂ©matique et basculer vers celle-ci puis lancer cette commande pour fusionner les modifications de cette requĂȘte de tirage.
Les autres URL intéressantes sont les URL .diff
et .patch
, qui, comme vous lâavez certainement devinĂ©, vous fournissent des versions au format diffĂ©rence unifiĂ©e et patch de la requĂȘte de tirage.
Vous pourriez techniquement fusionner le travail contenu dans la requĂȘte de tirage de la maniĂšre suivante :
$ curl https://github.com/tonychacon/fade/pull/1.patch | git am
Collaboration Ă une requĂȘte de tirage
Comme dĂ©jĂ traitĂ© dans la section Processus GitHub, vous pouvez maintenant commencer une conversation avec la personne qui a ouvert la requĂȘte de tirage. Vous pouvez commenter certaines lignes de code, commenter des soumissions complĂštes ou commenter la requĂȘte de tirage elle-mĂȘme en utilisant les outils Markdown, saveur GitHub un peu partout.
Ă chaque fois que quelquâun dâautre commente la requĂȘte de tirage, vous recevrez des notifications par courriel afin dâĂȘtre au courant de chaque activitĂ©. Celles-ci possĂšdent un lien vers la requĂȘte de tirage dans laquelle lâactivitĂ© sâest produite et vous pouvez Ă©galement rĂ©pondre directement au courriel pour commenter le fil de discussion de la requĂȘte de tirage.
Une fois que le code est dans un état satisfaisant et que vous voulez le fusionner, vous pouvez soit tirer le code et le fusionner localement, soit utiliser la syntaxe décrite précédemment git pull <url> <branch>
, soit ajouter le clone comme dépÎt distant, le récupérer et le fusionner.
Si la fusion est triviale, vous pouvez Ă©galement cliquer sur le bouton « Merge » (fusionner) sur le site GitHub. Une fusion sans avance rapide (non-fast-forward) sera rĂ©alisĂ©e ce qui crĂ©era une soumission de fusion (merge commit) mĂȘme si une fusion en avance rapide (fast-forward) Ă©tait possible. Cela signifie que dans tous les cas, Ă chaque fois que vous cliquez sur le bouton « Merge », un commit de fusion est crĂ©Ă©. Comme vous pouvez le voir sur Bouton « Merge » et instructions pour la fusion manuelle dâune requĂȘte de tirage., GitHub vous donne toutes ces informations si vous cliquez sur le lien descriptif.
Si vous dĂ©cidez que vous ne voulez pas fusionner, vous pouvez tout simplement fermer la requĂȘte de tirage et la personne qui lâa crĂ©Ă©e en sera informĂ©e.
RĂ©fĂ©rences aux requĂȘtes de tirage
Si vous gĂ©rez beaucoup de requĂȘtes de tirage et que vous ne voulez pas ajouter une sĂ©rie de dĂ©pĂŽts distants ou faire des tirages isolĂ©s Ă chaque fois, GitHub vous permet une astuce. Câest toutefois une astuce avancĂ©e et nous irons un peu plus dans les dĂ©tails Ă la section La refspec mais cela peut ĂȘtre assez utile dĂšs maintenant.
GitHub traite en rĂ©alitĂ© les branches de requĂȘte de tirage dâun dĂ©pĂŽt comme une sorte de pseudo-branches sur le serveur. Par dĂ©faut, vous ne les obtenez pas lorsque vous clonez mais elles sont prĂ©sentes de façon cachĂ©e et vous pouvez y accĂ©der assez facilement.
Pour le montrer, nous allons utiliser une commande bas niveau (souvent appelĂ©e commande de « plomberie » dont nous parlerons un peu plus dans la section Plomberie et porcelaine) qui sâappelle ls-remote
.
Cette commande nâest en gĂ©nĂ©ral pas utilisĂ©e dans les opĂ©rations quotidiennes mais elle est utile pour afficher les rĂ©fĂ©rences prĂ©sentes sur le serveur.
Si nous lançons cette commande sur le dĂ©pĂŽt « blink » que nous utilisions tout Ă lâheure, nous obtenons la liste de toutes les branches et Ă©tiquettes ainsi que dâautres rĂ©fĂ©rences dans le dĂ©pĂŽt.
$ git ls-remote https://github.com/schacon/blink
10d539600d86723087810ec636870a504f4fee4d HEAD
10d539600d86723087810ec636870a504f4fee4d refs/heads/master
6a83107c62950be9453aac297bb0193fd743cd6e refs/pull/1/head
afe83c2d1a70674c9505cc1d8b7d380d5e076ed3 refs/pull/1/merge
3c8d735ee16296c242be7a9742ebfbc2665adec1 refs/pull/2/head
15c9f4f80973a2758462ab2066b6ad9fe8dcf03d refs/pull/2/merge
a5a7751a33b7e86c5e9bb07b26001bb17d775d1a refs/pull/4/head
31a45fc257e8433c8d8804e3e848cf61c9d3166c refs/pull/4/merge
Bien sĂ»r, si vous ĂȘtes dans votre dĂ©pĂŽt et que vous lancez la commande git ls-remote origin
(ou avec un autre dĂ©pĂŽt distant), quelque chose de similaire sâaffiche.
Si le dĂ©pĂŽt se trouve sur GitHub et que des requĂȘtes de tirage ont Ă©tĂ© ouvertes, vous obtiendrez leurs rĂ©fĂ©rences prĂ©fixĂ©es par refs/pull/
.
Ce sont simplement des branches mais comme elles ne sont pas sous refs/heads/
, vous ne les obtenez gĂ©nĂ©ralement pas lorsque vous clonez ou rĂ©cupĂ©rez Ă partir dâun serveurâââle processus de rĂ©cupĂ©ration les ignore normalement.
Il y a deux rĂ©fĂ©rences par requĂȘte de tirage - lâune se termine par /head
et pointe vers la mĂȘme soumission que la derniĂšre soumission dans la branche de requĂȘte de tirage.
Donc si quelquâun ouvre une requĂȘte de tirage sur notre dĂ©pĂŽt, que leur branche sâappelle bug-fix
et quâelle pointe sur la soumission a5a775
, alors dans notre dĂ©pĂŽt nous nâaurons pas de branche bug-fix
(puisquâelle se trouve dans leur clone) mais nous aurons une rĂ©fĂ©rence pull/<pr#>/head
qui pointe vers a5a775
.
Cela signifie que vous pouvez assez facilement tirer toute branche de requĂȘte de tirage dâun coup sans avoir Ă ajouter tout un tas de dĂ©pĂŽts distants.
Vous pouvez désormais récupérer la référence directement.
$ git fetch origin refs/pull/958/head
From https://github.com/libgit2/libgit2
* branch refs/pull/958/head -> FETCH_HEAD
Cela dit à Git, « Connecte-toi au dépÎt distant origin
et télécharge la référence appelée refs/pull/958/head
 ».
Git obéit joyeusement et télécharge tout ce dont vous avez besoin pour construire cette référence et positionne un pointeur vers la soumission souhaitée sous .git/FETCH_HEAD
.
Vous pouvez continuer en faisant git merge FETCH_HEAD
dans une branche dans laquelle vous voulez la tester mais ce message de fusion (merge commit) semble un peu bizarre.
De plus, si vous passez en revue beaucoup de requĂȘtes de tirage, cela devient fastidieux.
Il existe Ă©galement une façon de rĂ©cupĂ©rer toutes les requĂȘtes de tirage et de les maintenir Ă jour Ă chaque fois que vous vous connectez au dĂ©pĂŽt distant.
Ouvrez le fichier .git/config
dans votre éditeur favori et cherchez le dépÎt origin
.
Cela devrait ressembler à cela :
[remote "origin"] url = https://github.com/libgit2/libgit2 fetch = +refs/heads/*:refs/remotes/origin/*
La ligne qui commence par fetch =
est une spécification de références (refspec).
Câest une façon de faire correspondre des noms sur un dĂ©pĂŽt distant Ă des noms dans votre dossier .git
local.
Celle-ci en particulier dit à Git, « les choses sur le dépÎt distant qui se trouvent sous refs/heads
doivent aller dans mon dépÎt local sous refs/remotes/origin
 ».
Vous pouvez modifier cette section pour ajouter une autre spécification de références :
[remote "origin"] url = https://github.com/libgit2/libgit2.git fetch = +refs/heads/*:refs/remotes/origin/* fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
Cette derniÚre ligne dit à Git, « Toutes les références du type refs/pull/123/head
doivent ĂȘtre enregistrĂ©es localement comme refs/remotes/origin/pr/123
 ».
Maintenant, si vous enregistrez ce fichier et faites une récupération (git fetch
)Â :
$ git fetch
# âŠ
* [new ref] refs/pull/1/head -> origin/pr/1
* [new ref] refs/pull/2/head -> origin/pr/2
* [new ref] refs/pull/4/head -> origin/pr/4
# âŠ
Maintenant toutes les requĂȘtes de tirage distantes sont reprĂ©sentĂ©es localement par des rĂ©fĂ©rences qui agissent un peu comme des branches de suivi : elles sont en lecture seule et elles se mettent Ă jour lorsque vous faites un tirage. Il est ainsi super facile dâessayer le code dâune requĂȘte de tirage localement :
$ git checkout pr/2
Checking out files: 100% (3769/3769), done.
Branch pr/2 set up to track remote branch pr/2 from origin.
Switched to a new branch 'pr/2'
Les Sherlock Holmes en herbe parmi vous auront remarqué le terme head
à la fin de la partie distante de la spécification de références.
Il y a également une référence refs/pull/#/merge
du cÎté de GitHub qui représente la soumission qui serait obtenue si vous cliquiez sur le bouton « Fusionner » sur le site.
Cela peut vous permettre de tester la fusion avant mĂȘme de cliquer sur le bouton.
RequĂȘtes de tirage sur des requĂȘtes de tirage
Non seulement vous pouvez ouvrir des requĂȘtes de tirage qui ciblent la branche principale ou master
, mais vous pouvez en fait ouvrir une requĂȘte de tirage ciblant nâimporte quelle branche du rĂ©seau.
En rĂ©alitĂ©, vous pouvez mĂȘme cibler une autre requĂȘte de tirage.
Si vous remarquez une requĂȘte de tirage qui va dans la bonne direction et que vous avez une idĂ©e de modifications qui dĂ©pendent de celle-ci, ou vous nâĂȘtes pas sĂ»r que câest une bonne idĂ©e, ou vous nâavez tout simplement pas accĂšs en poussĂ©e vers la branche cible, vous pouvez ouvrir une requĂȘte de tirage directement sur elle.
Lorsque vous ouvrez une requĂȘte de tirage, une boĂźte en haut de la page vous indique vers quelle branche vous voulez pousser et Ă partir de quelle branche vous allez tirer. Si vous cliquez sur le bouton « Edit » (modifier) Ă droite de cette boĂźte, vous pouvez modifier non seulement les branches mais aussi le clone.
Vous pouvez Ă cet instant trĂšs facilement indiquer de fusionner votre nouvelle branche sur une autre requĂȘte de tirage ou un autre clone du projet.
Mentions et notifications
GitHub dispose Ă©galement dâun systĂšme de notifications intĂ©grĂ© assez sympa qui peut devenir utile lorsque vous avez des questions et besoin du retour de certaines personnes ou dâĂ©quipes.
Dans tous les commentaires, si vous saisissez le caractĂšre @
, cela commence Ă proposer des noms et des noms dâutilisateur de personnes qui collaborent ou contribuent au projet.
Vous pouvez aussi faire rĂ©fĂ©rence Ă un utilisateur qui nâapparaĂźt pas dans cette liste, mais souvent lâauto-complĂ©tion accĂ©lĂšre les choses.
Une fois que vous avez postĂ© un commentaire contenant une rĂ©fĂ©rence Ă un utilisateur, ce dernier reçoit une notification. Cela signifie que câest une maniĂšre trĂšs pratique de faire entrer des gens dans une conversation plutĂŽt que de leur demander. TrĂšs souvent dans des requĂȘtes de tirage sur GitHub, les gens vont attirer dâautres personnes dans leurs Ă©quipes ou dans leur sociĂ©tĂ© pour vĂ©rifier une anomalie ou une requĂȘte de tirage.
Si quelquâun est citĂ© dans une requĂȘte de tirage ou une anomalie, il est « inscrit » Ă celle-ci et continue Ă recevoir des notifications dĂšs quâune activitĂ© se produit. Vous ĂȘtes Ă©galement inscrit Ă quelque chose si vous lâouvrez, si vous observez (watch) un dĂ©pĂŽt ou si vous faites un commentaire sur quelque chose. Si vous ne souhaitez plus recevoir de notifications, cliquez sur le bouton « Unsubscribe » (se dĂ©sinscrire) de la page pour arrĂȘter de recevoir les mises Ă jour.
La page des notifications
Lorsque nous parlons de « notifications » ici, par rapport Ă GitHub, nous voulons parler de la maniĂšre spĂ©cifique par laquelle GitHub essaye de vous joindre lorsque des Ă©vĂ©nements se produisent et il existe diffĂ©rentes façons de la configurer. Si vous allez dans lâonglet « Notification center » (centre de notification) dans la page des paramĂštres, vous pouvez voir les diffĂ©rentes options disponibles.
Vous pouvez recevoir des notifications soit par « courriel », soit par le « Web » et vous pouvez sélectionner une, aucune ou les deux méthodes si vous voulez participer de maniÚre trÚs active ou pour une activité particuliÚre dans les dépÎts que vous surveillez.
Notifications Web
Les notifications Web nâexistent que sur GitHub et vous ne pouvez les visionner que sur GitHub. Si vous avez sĂ©lectionnĂ© cette option dans vos prĂ©fĂ©rences et quâune notification vous est envoyĂ©e, un petit point bleu apparaĂźt sur votre icĂŽne des notifications en haut de lâĂ©cran comme sur la figure Centre de notification..
Si vous cliquez dessus, la liste de tous les Ă©lĂ©ments pour lesquels vous avez Ă©tĂ© notifiĂ© apparaĂźt, regroupĂ©s par projet. Vous pouvez filtrer les notifications dâun projet particulier en cliquant sur son nom dans la barre latĂ©rale gauche. Vous pouvez aussi accepter la notification en cochant lâicĂŽne Ă cĂŽtĂ© de celle-ci ou accepter toutes les notifications dâun projet en cochant la case en haut du groupe. Il y a aussi un bouton « muet » Ă cĂŽtĂ© de chaque case que vous pouvez cliquer afin de ne plus recevoir de notifications sur cet Ă©lĂ©ment.
Tous ces outils sont trĂšs utiles pour gĂ©rer un grand nombre de notifications. Beaucoup dâutilisateurs de GitHub trĂšs actifs arrĂȘtent tout simplement complĂštement les notifications par courriel et gĂšrent toutes leurs notifications Ă partir de cette fenĂȘtre.
Notifications par courriel
Les notifications par courriel sont lâautre façon de gĂ©rer les notifications provenant de GitHub. Si vous les avez activĂ©es, vous recevrez des courriels pour chaque notification. Nous avons vu des exemples concernant cela sur les figures Commentaires notifiĂ©s par courriel et Notification par courriel dâune nouvelle requĂȘte de tirage.. Ces courriels peuvent ĂȘtre Ă©galement suivis correctement ce qui est bien agrĂ©able si vous utilisez un client de messagerie qui suit les fils de discussion.
Un assez grand nombre de mĂ©tadonnĂ©es sont incluses dans les entĂȘtes des courriels que GitHub vous envoie ce qui peut vraiment vous aider Ă configurer des filtres et des rĂšgles personnalisĂ©s.
Par exemple si nous observons les entĂȘtes complets du courriel envoyĂ© Ă Tony dans le courriel de la figure Notification par courriel dâune nouvelle requĂȘte de tirage., nous voyons que les informations suivantes sont envoyĂ©es :
To: tonychacon/fade <fade@noreply.github.com>
Message-ID: <tonychacon/fade/pull/1@github.com>
Subject: [fade] Wait longer to see the dimming effect better (#1)
X-GitHub-Recipient: tonychacon
List-ID: tonychacon/fade <fade.tonychacon.github.com>
List-Archive: https://github.com/tonychacon/fade
List-Post: <mailto:reply+i-4XXX@reply.github.com>
List-Unsubscribe: <mailto:unsub+i-XXX@reply.github.com>,...
X-GitHub-Recipient-Address: tchacon@example.com
Il y a quelques petites choses intéressantes ici.
Si vous voulez mettre en valeur ou rediriger les courriels de ce projet ou dâune requĂȘte en tirage en particulier, lâinformation du champ Message-ID
vous fournit toutes les données au format <utilisateur>/<projet>/<type>/<id>
.
Si câĂ©tait une anomalie, le champ <type>
aurait été « issues » à la place de « pull ».
Les champs List-Post
et List-Unsubscribe
signifient que si votre client de messagerie les prend en compte, vous pouvez facilement écrire (post) à la liste ou vous désinscrire (unsubscribe) du fil de discussion.
Cela correspond Ă cliquer sur la case « muet » sur la version Web de la notification ou sur « Unsubscribe » sur la page personnelle de lâanomalie ou de la requĂȘte de tirage.
Il est aussi intĂ©ressant de noter que si les notifications par courriel et par Web sont toutes deux activĂ©es et que vous lisez la version courriel de la notification, la version Web sera Ă©galement marquĂ©e comme lue si vous avez autorisĂ© lâaffichage des images dans votre client de messagerie.
Fichiers spéciaux
Quelques fichiers spĂ©ciaux attirent lâattention de GitHub sâils existent dans votre dĂ©pĂŽt.
README
Le premier est le fichier README
(LISEZ-MOI) qui peut ĂȘtre Ă©crit sous nâimporte quel format textuel reconnu par GitHub.
Par exemple, cela pourrait ĂȘtre README
, README.md
, README.asciidoc
, etc.
Si GitHub trouve un fichier README dans vos sources, celui-ci sera rendu sur la page dâaccueil du projet.
Pour beaucoup dâĂ©quipes, ce fichier contient toutes les informations importantes du projet pour quelquâun qui serait nouveau dans le dĂ©pĂŽt ou le projet. Il contient habituellement des choses comme :
-
Ă quoi sert le projet.
-
Comment le configurer et lâinstaller.
-
Un exemple dâutilisation et comment le lancer.
-
La licence sous laquelle le projet est proposé.
-
Comment y contribuer.
Puisque GitHub va afficher Ă lâĂ©cran ce fichier, vous pouvez y incorporer des images ou des liens pour faciliter la comprĂ©hension.
CONTRIBUTING
Lâautre fichier spĂ©cial que GitHub reconnaĂźt est le fichier CONTRIBUTING
.
Si vous possédez un fichier nommé CONTRIBUTING
, peu importe son extension, GitHub affichera la figure Ouverture dâune requĂȘte de tirage si un fichier CONTRIBUTING existe. lorsque quelquâun commence Ă ouvrir une requĂȘte de tirage.
LâidĂ©e ici est dâexpliquer les choses particuliĂšres que vous voulez ou ne voulez pas voir soumises dans une requĂȘte de tirage envoyĂ©e vers votre projet. De cette façon, les gens peuvent vraiment lire les recommandations avant dâouvrir la requĂȘte de tirage.
Administration du projet
Il nây a gĂ©nĂ©ralement pas beaucoup de tĂąches administratives Ă faire si vous avez un seul projet, mais ces quelques points peuvent vous intĂ©resser.
Modification de la branche par défaut
Si vous utilisez une autre branche que « master » comme branche par dĂ©faut et que vous voulez que les gens ouvrent les requĂȘtes de tirage dessus ou la voient par dĂ©faut, vous pouvez modifier cela dans la page des paramĂštres de votre dĂ©pĂŽt dans lâonglet « Options ».
Modifiez tout simplement la branche par dĂ©faut dans la liste dĂ©roulante et celle-ci sera la branche par dĂ©faut pour toutes les opĂ©rations principales Ă partir de maintenant, y compris la branche qui sera extraite par dĂ©faut lorsque quelquâun clone le dĂ©pĂŽt.
Transfert de projet
Si vous voulez transfĂ©rer un projet Ă un autre utilisateur ou une organisation dans GitHub, une option « Transfer ownership » (transfĂ©rer la propriĂ©tĂ©) en bas du mĂȘme onglet « Options » de la page des paramĂštres de votre dĂ©pĂŽt vous permet cela.
Câest bien pratique si vous abandonnez un projet et que quelquâun souhaite le rĂ©cupĂ©rer ou si votre projet devient plus gros et que vous voulez le dĂ©placer vers une organisation.
Non seulement, cela dĂ©place le dĂ©pĂŽt ainsi que tous ses observateurs et Ă©toiles vers un autre endroit, mais cela met Ă©galement en place une redirection de votre URL vers le nouvel emplacement. Cela redirige Ă©galement les clones et les tirages Ă partir de Git et pas seulement les requĂȘtes Web.