github tutorial developers how use github
Ce didacticiel GitHub explique ce qu'est GitHub et comment créer un référentiel, une branche et une demande d'extraction. Il comprend les règles de protection des succursales et la résolution des conflits:
Qu'est-ce que GitHub?
GitHub est un service cloud qui aide les développeurs à stocker et à gérer leur code source, ainsi qu'à suivre et contrôler toutes les modifications apportées au code source.
En termes simples, GitHub est destiné aux développeurs dans lesquels ils peuvent gérer le projet, héberger le code source et les examiner également. Nous explorerons tout cela dans cette série.
Liste des didacticiels de cette série GitHub:
Tutoriel n ° 1: Tutoriel GitHub pour les développeurs | Comment utiliser GitHub (Ce tutoriel)
Tutoriel n ° 2: Projets GitHub, équipes, Fork et Wiki pour la documentation de projets
Tutoriel n ° 3: Tutoriel sur les commandes Git avancées et l'intégration GitHub
Tutoriel n ° 4: Tutoriel sur l'API REST GitHub - Prise en charge de l'API REST dans GitHub
Tutoriel n ° 5: Tutoriel GitHub Desktop - Collaborez avec GitHub depuis votre bureau
Tutoriel n ° 6: Tutoriel TortoiseGit - Comment utiliser TortoiseGit pour le contrôle de version
Ce que vous apprendrez:
- Qu'est-ce que Git?
- Premiers pas avec GitHub
- Créer un référentiel GitHub
- Déplacer un fichier
- Créer une branche GitHub
- Créer une demande d'extraction GitHub
- Attribuer des réviseurs avec des demandes d'extraction et une révision de code
- Résoudre les conflits
- Règles de protection des succursales
- Transférer un référentiel vers un autre compte utilisateur
- Quelques commandes Git utiles
- Conclusion
Qu'est-ce que Git?
Git est un système de contrôle de version Open Source où l'intégralité du code source est disponible sur la machine du développeur. Git est également un système de contrôle de version client et distribué (DVCS) dans lequel vous pouvez effectuer des branchements et des fusions.
Premiers pas avec GitHub
Pour commencer avec GitHub, nous allons effectuer les étapes suivantes.
- Créez un référentiel pour organiser les projets.
- Créer une branche
- Apportez des modifications au fichier et validez.
- Créez une Pull Request pour fusionner le contenu.
- Protéger la branche
Dans la deuxième partie de la série, nous examinerons également les autres fonctionnalités de GitHub telles que la création d'organisation, d'équipes, de problèmes, de jalons, de fourches, de versions et de wikis.
Créer un référentiel GitHub
Un référentiel GitHub contient les artefacts du projet tels que le code source, les documents, les images, etc. Nous allons créer et utiliser un référentiel de démonstration pour effectuer toutes les étapes ci-dessus.
Connectez-vous à Github.com et Créer un nouveau référentiel . Clique sur le Nouveau bouton.
Ajoutez les détails du repo ci-dessous comme indiqué et cliquez sur Créer un référentiel . Définissez l'accès sur Privé ou Public. Il est préférable de le rendre public car peu de fonctionnalités dépendent de cet accès.
Remarque: l'utilisateur qui crée le référentiel est le propriétaire du référentiel GitHub.
Le référentiel est créé avec un fichier README.
Ajout de collaborateurs au référentiel GitHub
Nous voudrions que l'équipe travaille sur ce référentiel. Pour cela, nous devrons inviter les collaborateurs à travailler sur le référentiel. Pour ajouter des collaborateurs, rendez-vous sur la page principale du référentiel et cliquez sur le Réglages icône.
Cliquer sur Collaborateurs dans le volet gauche et ajoutez les collaborateurs qui ont un compte Github. Une invitation serait envoyée et les collaborateurs devraient accepter l'invitation.
Les collaborateurs sont ajoutés comme indiqué ci-dessous. Plus tard, dans ce didacticiel, nous verrons comment les collaborateurs seront ajoutés en tant que réviseur pour la demande d'extraction créée pour fusionner le code.
Exécution d'un C basique omettre
Ouvrez le fichier README et effectuez une validation de base. Clique sur le Modifier l'icône pour commencer à modifier le fichier.
Modifiez le fichier, ajoutez un commentaire et cliquez sur S'engager .
Le fichier est validé (modifications enregistrées) dans le référentiel Github.
Peu d'opérations pour créer un dossier et des fichiers dans le référentiel seront vues.
Pour créer le dossier et un fichier dans: Clique sur le Créer un nouveau fichier bouton au niveau du référentiel. Tapez le nom du répertoire suivi de / et le nom du fichier comme indiqué ci-dessous.
Cliquer sur S'engager au fond. Le dossier et le fichier sont créés comme indiqué. Ainsi, les fichiers et dossiers sont créés sur le Maître branche qui est la principale branche d'intégration et principalement où les versions du logiciel peuvent être construites.
Les développeurs travaillent normalement sur la tâche qui leur est assignée sur une branche distincte et fusionnent les modifications dans la branche principale. Par exemple, des branches peuvent être créées pour le développement de fonctionnalités ou la résolution de bogues ou pour travailler sur des améliorations, etc. Ainsi, en créant une branche, le travail est isolé sans déranger les autres branches.
Dans l'étape suivante, nous pouvons voir comment les branches peuvent être créées et les demandes d'extraction définies pour examiner et fusionner le code dans la branche principale.
Déplacer un fichier
Pour déplacer un fichier vers un autre dossier, procédez comme suit. Par exemple, pour déplacer le fichier rules.txt vers un dossier doc. Cliquez sur le fichier.
Cliquez sur l'icône pour éditer le fichier.
Ajouter le chemin doc / avant le dossier rules.txt . Cliquer sur Validez les modifications.
Le chemin est maintenant mis à jour.
Créer une branche GitHub
Accédez à la page principale du référentiel et saisissez pour créer un fonctionnalité branche comme indiqué. Cliquer sur Créez une branche.
Nous sommes maintenant dans le fonctionnalité branche. Les fichiers sont les mêmes. Nous allons maintenant apporter quelques modifications aux fichiers dans le fonctionnalité branchez et créez une pull request pour examiner les modifications et fusionner le code dans le Maître branche.
Apportez des modifications aux fichiers dans la branche des fonctionnalités.
Ouvrez le fichier Java dans le dossier Src et ajoutez du code et validez la modification.
Créer une demande d'extraction GitHub
Dans la section précédente, nous avons créé une branche fonctionnalité et a apporté des modifications à un fichier. Les changements ne sont pas dans le Maître branche. Pour cela, nous devons créer une Pull Request par laquelle l'utilisateur propose certains changements à examiner et à fusionner dans le Maître branche.
La création d'une demande d'extraction montrera les différences entre la branche source et cible et sera nécessaire pour résoudre les conflits, le cas échéant.
Cliquer sur Comparer et tirer la demande sur la page principale du référentiel.
Vous pouvez voir que les modifications des deux branches peuvent être fusionnées. Cliquer sur Créer une demande d'extraction.
Cliquer sur Merge Pull Request et Confirmer pour terminer la fusion.
Les modifications sont fusionnées avec succès dans le Maître branche. Notre première demande d'extraction est terminée avec succès.
Attribuer des réviseurs avec des demandes d'extraction et une révision de code
Github a une bonne fonctionnalité d'utilisation d'un fichier CODEOWNERS dans lequel nous pouvons sélectionner les personnes responsables du code source dans le référentiel. Les propriétaires de référentiel peuvent créer ce fichier et tous les utilisateurs définis dans le fichier sont demandés par défaut pour la révision lors de la création de la demande d'extraction.
Pour utiliser cette fonctionnalité, vous devez utiliser la version GitHub Pro ou rendre le référentiel public.
À la racine du référentiel, créez ce fichier au format suivant et validez le fichier.
* @username ou @orgname ou @teamname
* signifie principalement tous les fichiers du dépôt. Vous pouvez également spécifier des extensions spécifiques comme * .java ou * .js, etc. Les utilisateurs définis dans le fichier recevront automatiquement une demande de révision. Avec le fichier CODEOWNERS défini, il n'est pas nécessaire d'ajouter explicitement des réviseurs manuellement et dispose d'un peu plus de flexibilité pour choisir les fichiers à réviser.
De retour dans le fonctionnalité branche modifiez légèrement le fichier Java et créez une Pull Request. Dans l'écran Pull Request, affectez un réviseur sur le côté droit. Cliquer sur Créer une demande d'extraction.
Vous pouvez voir dans l'écran ci-dessus que les réviseurs peuvent être affectés manuellement mais que les réviseurs sont définis dans le fichier CODEOWNERS qui recevront automatiquement une demande de révision des modifications de code.
Quoi qu'il en soit, pour l'instant, allons-y connexion en tant que réviseur et approuver les modifications. Connectez-vous en tant qu'utilisateur vniranjan2512 pour approuver les modifications.
Il y a une demande d'approbation / de rejet des modifications, sous Pull Request.
Cliquez sur Pull Request et Ajoutez votre avis.
Vous pouvez cliquez sur le + signer et ajouter des commentaires de révision pour la ligne de code Ajouté / Modifié / Supprimé, sur l'écran qui apparaît.
Cliquer sur Commencez un examen.
Cliquer sur Terminez votre examen. Approuver comme indiqué et Poster le commentaire .
De retour en tant qu'utilisateur d'origine qui a émis une demande d'extraction, vous pouvez ajouter un commentaire et résoudre ou fermer la conversation.
La demande d'extraction de fusion peut maintenant être terminée.
Les modifications sont fusionnées avec succès dans le Maître branche publier la révision et fusionner la demande d'extraction.
Donc, pour résumer à ce stade, nous avons vu que les développeurs travaillent sur le fonctionnalité branche, puis émettez une Pull Request pour fusionner les modifications apportées au Maître branche. Ce qui précède était un scénario où les conflits n'existaient pas. Dans la section suivante, nous verrons les moyens de résoudre manuellement les conflits si les fichiers sont modifiés dans plusieurs branches.
Résoudre les conflits
Il est possible que les mêmes fichiers dans plusieurs branches soient modifiés. Dans ce cas, il y aurait des conflits et doit être résolu via la demande d'extraction déclenchée.
Par exemple, apporter des modifications au fichier Java dans les deux Maître et fonctionnalité branches et émettez une demande de tirage.
Le message de demande d'extraction affiché est que les modifications ne peuvent pas être automatiquement fusionnées. Par conséquent, les conflits doivent être résolus. Procédez à la création d'une demande d'extraction.
Une fois la Pull Request émise, les conflits devront être résolus en cliquant sur le bouton Résoudre des conflits bouton.
Supprimez les marquages qui résolvent essentiellement les conflits manuellement et cliquez sur Marquer comme résolu et Validez la fusion.
La vue finale du fichier après la suppression des marquages.
La demande d'extraction de fusion peut être effectuée. Le Maître et fonctionnalité les branches seront désormais identiques.
Vous pouvez toujours voir dans l'écran ci-dessus que l'examen est demandé mais pas obligatoire. Dans la section suivante, nous verrons à propos des règles de protection des branches dans lesquelles le propriétaire du référentiel peut obligatoirement demander une révision et également protéger le Maître branche de s'y engager directement mais uniquement via une pull request.
Règles de protection des succursales
Dans les sections précédentes, nous avons vu les demandes d'extraction Github et également les demandes d'avis qui n'étaient pas obligatoires ou facultatifs. Dans le code de scénarios de projet typiques, les examens sont indispensables et font partie du processus de développement.
Voyons comment appliquer cela.
Dans github.com, cette fonctionnalité ne peut être définie que pour les référentiels publics ou en utilisant la version pro de Github. Sur la page principale du référentiel, accédez à Réglages et cliquez sur le Branches catégorie à gauche.
Cliquer sur Ajouter une règle sous le Règles de protection des succursales. La règle ajoutait des demandes d'examens obligatoires des demandes d'extraction de la part des propriétaires de code avant la fusion pour le Maître branche.
Cela garantira également que le branche principale est protégé et aucune validation directe ne peut être effectuée sur cette branche et ne peut être validée que via les Pull Requests après un examen approfondi. Ce paramètre est défini par le propriétaire du référentiel.
Une grande fonctionnalité en effet !!!
Cliquer sur Créer une fois fait. Pour tester ce scénario, apportez une modification à un fichier dans le fonctionnalité branchez et créez une pull request.
L'écran suivant montre qu'un examen est obligatoirement requis par les propriétaires du code.
Publiez l'avis des propriétaires de code, la demande d'extraction peut être fusionnée.
En tant que collaborateur du référentiel, si vous apportez des modifications à l'un des fichiers, en raison des règles des branches protégées créées, vous ne pourrez pas vous engager directement dans la branche principale mais uniquement via une Pull Request après avoir créé une branche comme indiqué en dessous de.
Transférer un référentiel vers un autre compte utilisateur
Normalement, un référentiel d'utilisateurs personnel a un seul propriétaire et tous les autres sont des collaborateurs. Ainsi, dans un sens où vous ne pouvez pas avoir plusieurs propriétaires dans un référentiel de comptes utilisateur. Mais la propriété peut être transférée vers un autre compte utilisateur. Une fois terminé, le propriétaire du référentiel d'origine devient automatiquement des collaborateurs dans le nouveau référentiel de comptes utilisateur.
Le nouveau propriétaire peut alors commencer à administrer les artefacts, les problèmes, les pull requests, les projets, les versions et les paramètres.
Normalement, lorsque des commandes comme «git clone» ou «git push» sont exécutées dans le référentiel local, les commandes seront redirigées vers le nouveau référentiel. Mais lorsque vous exécutez la commande ‘git remote -v’, l’URL du référentiel d’origine sera toujours affichée. Pour éviter toute confusion, passez à la nouvelle URL distante, publiez le transfert du référentiel en utilisant la commande «git remote set-url».
Pour transférer un référentiel, allez dans l'onglet Paramètres du référentiel et sous Options? Zone de danger cliquez sur Transfert
Saisissez le nom du référentiel et le nouveau compte utilisateur auquel la propriété doit être transférée.
Cliquez sur Je comprends, transférez ce référentiel
Vous devriez voir un message indiquant que le référentiel est transféré au nouveau propriétaire.
Un e-mail sera envoyé au propriétaire du référentiel d'origine pour approuver le transfert. Une fois le transfert approuvé, le référentiel sera transféré au nouveau propriétaire et le propriétaire du référentiel d'origine sera ajouté en tant que collaborateur.
Maintenant, définissez la nouvelle URL du référentiel sur la machine sur laquelle l'ancien référentiel a été cloné. Les commandes suivantes doivent être définies sur toutes les machines sur lesquelles l'ancien référentiel a été cloné.
Toutes les demandes d'extraction, les problèmes, le wiki seront transférés. Les attributions de problèmes resteront intactes.
Quelques commandes Git utiles
Certaines des commandes Git de base doivent être configurées initialement sur votre machine locale une fois que le client Git est installé sur votre machine Linux ou Windows. Les développeurs travaillent localement, sans connexion au référentiel sur GitHub, sur la copie complète du code source disponible sur GitHub et se synchronisent avec elle.
Tout d'abord, définissez votre nom d'utilisateur et votre adresse e-mail pour vous assurer que tous les commits que vous utilisez utilisent ces informations.
git config –global user.name «UserName»
git config –global user.email 'myemail@myemail.com'
Lorsque vous devez ajouter un message pendant les validations, vous pouvez également configurer l'éditeur nécessaire pour le même.
questions d'entrevue sur les services Web de savon et de repos
git config - bloc-notes global core.editor
Obtenez une liste de toutes les valeurs de configuration définies.
git config –list
Parfois, les organisations ont des serveurs proxy pour se connecter à Internet. Dans ce cas, vous devrez spécifier un serveur proxy et un numéro de port pour accéder à tous les référentiels sur GitHub.
git config –global http.proxyhttp: // Nom d'utilisateur: Mot de passe @ proxyserver: port
Clonez ou créez une copie locale du référentiel. Obtenez l'URL de clonage du référentiel dans GitHub et exécutez la commande git.
Conclusion
Dans ce tutoriel, nous avons vu comment un développeur peut commencer à travailler sur GitHub, directement à partir de la création d'un référentiel GitHub, d'une branche, d'une requête d'extraction, de la protection d'une branche et de quelques commandes Git de base.
Dans notre prochain tutoriel, nous verrons les autres fonctionnalités de GitHub principalement sur la manière de créer des organisations, des équipes, de créer un référentiel, de créer des problèmes, des jalons et de les associer à des pull requests, des wiki et leurs utilisations et quelques autres commandes Git avancées qui seront utiles aux développeurs.
lecture recommandée
- Tutoriel de réflexion Java avec des exemples
- Git vs GitHub: explorez les différences avec des exemples
- Tutoriel Python DateTime avec des exemples
- Intégration de Selenium avec GitHub à l'aide d'Eclipse
- Un guide SoapUI rapide pour stocker les données de demande et de réponse dans un fichier - Tutoriel SoapUI # 15
- Tutoriel Bugzilla: Tutoriel pratique de l'outil de gestion des défauts
- 20+ Tutoriel MongoDB pour les débutants: Cours MongoDB gratuit
- Tutoriel de partage MongoDB avec exemple