Petit dictionnaire Étant donné que les termes Git et autres mots à la mode en programmation sont le plus souvent utilisés sans traduction, j'ai décidé de ne pas les traduire. Je vais leur donner ici, par souci d'ordre, une brève traduction des termes de cet article avec un « décodage ». Fourchette - "fourchette". Essentiellement, vous copiez le projet pour vous-même afin d'affiner quelque chose en fonction de celui-ci. Pull request - demande de changement. Envoi de vos modifications au référentiel pour examen (c'est-à-dire que ce code ne sera ajouté au projet principal qu'après confirmation par le propriétaire du référentiel ou par vos collègues de travail) Pull – « extraire » (dans un IDE sur votre ordinateur, par exemple) un projet de GitHub Push – « pousser » un projet depuis une machine locale vers GitHub |
#1 Modification du code sur GitHub.com
Je vais commencer par ce que je pense que tout le monde sait déjà (même si personnellement, je n’en avais aucune idée il y a une semaine). Lors de la visualisation d'un fichier texte sur GitHub, dans n'importe quel référentiel, vous pouvez voir un petit crayon en haut à droite. Si vous cliquez dessus, vous pouvez modifier ce fichier. Une fois terminé, cliquez sur Proposer une modification de fichier et GitHub créera un fork et une Pull Request. Incroyable, n'est-ce pas ? Il crée lui-même la fourchette ! Il n'est pas nécessaire de créer et de télécharger le code sur vous-même, d'apporter des modifications localement et de le renvoyer à GitHub avec une Pull Request. Très pratique si vous devez apporter des modifications minimes.#2 Insérer des images
Les descriptions des problèmes ne se limitent pas aux seuls commentaires textuels. Saviez-vous que vous pouvez coller des images directement depuis le presse-papiers ? Une fois collé, vous le verrez téléchargé (sur le cloud, sans aucun doute) et transformé en balisage pour afficher l'image. Gracieux!#3 Formatage du code
Si vous avez besoin d'écrire un bloc de code, commencez par trois backticks et GitHub essaiera de deviner dans quel langage de programmation vous écrivez. Mais si vous publiez un morceau de code dans un langage de programmation comme Vue, Typescript ou JSX, vous pouvez spécifier explicitement le langage afin que la coloration syntaxique soit correcte. Notez le ```jsx sur la première ligne :#4 Résoudre les problèmes en utilisant des « mots magiques » dans les requêtes Pull
Supposons que vous créiez une Pull Request qui résout le problème n°234. Vous pouvez insérer le texte « corrige le problème n° 234 » dans la description de votre demande (ou n'importe où dans tout commentaire de demande de modification). Après cela, la fusion de la Pull Request clôturera « automatiquement » le problème. Cool, n'est-ce pas ? Voici plus d'informations à ce sujet dans la documentation .#5 Lien vers les commentaires
Avez-vous déjà eu besoin de créer un lien vers un commentaire spécifique sans savoir comment le faire ? Cette époque est révolue depuis longtemps car je vais vous confier un secret : pour créer un lien vers un commentaire, il vous suffit de cliquer sur la date/heure à côté du titre.#6 Lien de code
Vous souhaitez donc créer un lien vers une ligne de code spécifique. Dans ce cas, essayez ceci : Cliquez sur le numéro de ligne à côté du code souhaité dans le fichier ouvert. Waouh, tu vois ? L'URL a changé, le numéro de ligne y est désormais visible ! Si vous maintenez la touche MAJ enfoncée et cliquez sur un autre numéro de ligne, alors voilà ! – L'URL changera à nouveau et la plage de lignes sera mise en surbrillance. Cette URL pointera désormais vers ce fichier et cette plage de lignes. Mais attendez, cela pointe vers le fil de discussion actuel. Et si le fichier change ? Vous avez probablement besoin, dans ce cas, d'un lien permanent vers le fichier dans son état actuel. Je suis très paresseux, alors j'ai pris une capture d'écran de tout ce qui précède :#7 Utiliser l'URL GitHub comme ligne de commande
La navigation dans GitHub à l'aide de l'interface utilisateur est organisée de manière très pratique. Mais parfois, pour accéder à un emplacement spécifique, il est plus rapide de simplement le saisir dans l'URL. Par exemple, si je veux accéder à une branche sur laquelle je travaille et voir comment elle se compare à master, je peux simplement taper /compare/branchname après le nom du référentiel. Cela m'amènera à la page de comparaison pour cette branche :#8 Créer des listes de problèmes
Voulez-vous une case à cocher dans la description de votre problème ?- [ ] Largeur de l'écran (entier)
- [x] Assistance aux techniciens de service
- [x] Récupérer le support
- [ ] Prise en charge des boîtes flexibles CSS
- [ ] Éléments personnalisés
#9 Panneaux de projet dans GitHub
Pour les grands projets, j'ai toujours utilisé Jira. Et pour mes projets personnels, j'ai toujours utilisé Trello. J'aime beaucoup ces deux outils. Lorsque j'ai appris il y a quelques semaines que GitHub proposait sa propre option, directement dans l' onglet Projets du référentiel, j'ai pensé qu'il serait logique de dupliquer l'ensemble des tâches avec lesquelles je travaille déjà dans Trello.Défauts
Au cours des trois dernières semaines, j'ai essayé de tout faire dans GitHub au lieu de Jira (sur un petit projet, une sorte de style Kanban) et j'ai adoré. Mais je ne peux pas imaginer cela pour un projet Scrum où la vitesse de développement, etc., doit être évaluée et calculée correctement. La bonne nouvelle est que les projets GitHub ont si peu de « fonctionnalités spéciales » que le passage à un autre système ne prendra pas beaucoup de temps. Alors essayez-le et voyez à quel point vous l’aimez. Je ne sais pas à quel point c'est important, mais j'ai entendu parler de ZenHub et je l'ai ouvert pour la première fois il y a 10 minutes. Il s'agit essentiellement d'une extension de GitHub où vous pouvez évaluer les problèmes et créer des « épopées » et des dépendances. Il existe des graphiques de vitesse de développement et d'épuisement professionnel ; On dirait que c'est juste une chose incroyable. Lectures complémentaires : documentation GitHub sur les projets.#10 Gwiki
Pour un ensemble de pages non structurées, comme Wikipédia, le wiki GitHub (que j'appellerai désormais Gwiki) est génial. Pour un ensemble structuré de pages – par exemple, comme votre documentation – pas tellement. Il n'y a aucun moyen d'indiquer que « cette page est un enfant de celle-là » ; il n'y a pas de choses aussi pratiques que les boutons « Section suivante » et « Section précédente ». Hansel et Gretel se perdraient certainement ici, car il n'y a pas non plus de «fil d'Ariane» (opérateurs de débogage spéciaux - environ trans.). (Note de l'auteur : avez-vous lu cette histoire ? C'est tout simplement inhumain. Deux jeunes voyous tuent une pauvre vieille dame affamée, la brûlant vive dans son propre four . Et bien sûr, laissant un désordre complet que personne ne peut comprendre. Je pense que c'est pour ça les jeunes d'aujourd'hui sont si sensibles que l'enfer – les histoires lues aux enfants à l'heure du coucher ne sont pas assez cruelles !) Passons à autre chose – pour essayer Gwiki pour de vrai, j'ai entré quelques pages de NodeJS comme pages wiki, puis j'ai créé un fichier wiki personnalisé. barre latérale pour simuler la structure réelle du site. Cette barre latérale est toujours là, même si la page actuelle n'est pas mise en surbrillance. Les liens devront être entretenus manuellement, mais dans l'ensemble, tout fonctionne bien. Si vous le souhaitez, vous pouvez jeter un oeil :#11 Pages GitHub
Vous savez peut-être déjà que les pages GitHub peuvent être utilisées pour héberger un site Web statique. Et si vous ne le saviez pas, alors vous le savez maintenant. Cependant, cette section est dédiée à un sujet plus précis : utiliser Jekyll pour créer un site internet. Dans sa forme la plus simple, GitHub Pages + Jekyll peut restituer le fichier README.md en utilisant un joli thème. Par exemple, jetez un œil à ma page Lisez-moi de about-github :Mon avis
Plus j’examinais la combinaison GitHub Pages + Jekyll (pour cet article), plus je trouvais que l’idée avait une odeur bizarre. L'idée de « créer votre propre site Web avec un minimum d'effort » est géniale. Mais pour travailler dessus, vous avez toujours besoin de la version actuelle sur la machine locale. Et pour quelque chose d'aussi "simple", il y a trop de commandes en ligne de commande. J'ai parcouru les sept pages de la section Mise en route et j'ai eu l'impression que la seule chose simple, c'était moi . Et je n'ai même pas compris la syntaxe simple de la page principale ou les bases d'un simple « mécanisme de création de modèles basé sur le langage Liquid ». Je préfère écrire un site Web moi-même ! Pour être honnête, je suis un peu surpris que Facebook l'utilise pour la documentation React alors qu'ils pourraient probablement créer leurs pages de système d'aide en utilisant React et les pré-afficher sous forme de fichiers HTML statiques chaque jour . Tout ce qu'ils ont à faire est de trouver un moyen de recevoir les fichiers de balisage existants comme s'ils provenaient du CMS. Et si...#12 Utiliser GitHub comme CMS
Disons que nous avons un site Web avec du texte, mais que nous ne voulons pas stocker ce texte sous forme de balisage HTML. Au lieu de cela, nous aimerions stocker des morceaux de texte quelque part qui peuvent être facilement modifiés par des utilisateurs non-développeurs. De préférence avec une option de versioning. Peut-être même avec une sorte de processus d’examen par les pairs. Voici ce que je suggère : utilisez les fichiers de balisage stockés dans le référentiel pour stocker le texte. Et utilisez un composant côté client qui récupérerait ces morceaux de texte et les afficherait sur la page. Je suis un fan de React, alors voici un exemple d'un composant <Markdown> approprié qui, étant donné un chemin vers un fichier markdown, l'extraira, l'analysera et le restituera au format HTML.class Markdown extends React.Component {
constructor(props) {
super(props);
// Конечно, вам нужно заменить это на свой URL
this.baseUrl = 'https://raw.githubusercontent.com/davidgilbertson/about-github/master/text-snippets';
this.state = {
markdown: '',
};
}
componentDidMount() {
fetch(`${this.baseUrl}/${this.props.url}`)
.then(response => response.text())
.then((markdown) => {
this.setState({markdown});
});
}
render() {
return (
<div dangerouslySetInnerHTML={{__html: marked(this.state.markdown)}} />
);
}
}
(J'utilise ici le package marqué npm pour analyser le balisage en HTML) L'URL pointe vers mon exemple de référentiel, qui contient des fichiers de balisage dans le répertoire /text-snippets . (Vous pouvez également utiliser l'API GitHub pour récupérer du contenu , mais je doute que vous en ayez besoin.) Vous pouvez utiliser un composant comme celui-ci :
const Page = () => (
<div className="page">
<div className="about-us">
<Markdown url="about-us.md" />
</div>
<div className="disclaimer">
<p>A very important disclaimer:</p>
<Markdown url="disclaimers/home-page-disclaimer.md" />
</div>
</div>
);
Alors maintenant, GitHub agit, en quelque sorte, comme votre CMS pour les morceaux de texte que vous souhaitez héberger. L'exemple ci-dessus récupère le balisage uniquement après le chargement du composant dans le navigateur. Si vous avez besoin d'un site statique, vous devrez le rendre sur le serveur. Bonnes nouvelles! Rien ne vous empêche de récupérer tous les fichiers de balisage sur le serveur (en utilisant la stratégie de mise en cache de votre choix). Si vous décidez d'emprunter cette voie, il est logique d'utiliser l'API GitHub pour obtenir une liste de tous les fichiers de balisage d'un répertoire. Bonus : utilitaires GitHub ! J'utilise l'extension Octotree Chrome depuis un certain temps maintenant et je vous la recommande. Non sans réserves, mais je le recommande quand même. Il affiche un panneau sur la gauche avec une arborescence du référentiel que vous parcourez.
GO TO FULL VERSION