Développer FreeCAD avec GitKraken

From FreeCAD Documentation
Revision as of 07:32, 26 February 2021 by DeeJayOne (talk | contribs) (Created page with "Si toutes ces conditions sont remplies, l'option '''Squash''' apparaît lorsque vous cliquez avec le bouton droit sur le nœud de "commit". Voir [https://support.gitkraken.com...")
Other languages:

Avant-propos

FreeCAD utilise Git pour gérer son code source. Ce document est une introduction rapide à GitKraken, une interface utilisateur graphique de Git. GitKraken est un logiciel propriétaire qui est gratuit lorsqu'il utilisé à des fins non commerciales; vous n'avez pas besoin de GitKraken pour développer du code pour FreeCAD, mais de nombreux développeurs l'apprécient et le trouvent utile pour gérer leur développement. FreeCAD n'approuve pas GitKraken mais nous espérons qu'un guide comme celui-ci montrera aux utilisateurs à quel point il est facile de configurer l'environnement de développement et d'encourager davantage de personnes à la contribution du projet.

Pour plus d'informations sur l'utilisation générale de Git à partir de la ligne de commande, consultez Gestion du code source et le livre en ligne Pro Git. Pour compiler FreeCAD, voir Compilation.

Introduction

Git est un puissant système de contrôle de révision couramment utilisé pour suivre le développement de code informatique. Bien qu'il s'agisse d'un système complexe, vous n'avez généralement besoin que de connaître le fonctionnement général et quelques fonctions en ligne de commande (CLI). Une interface utilisateur graphique (GUI) facilite la courbe d'apprentissage. GitKraken est un programme propriétaire gratuit (lorsqu'il est utilisé à des fins non commerciales) qui fonctionne sur le framework Electron, ce qui signifie qu'il est multiplateforme et peut être utilisé de la même manière sous Linux, MacOS et Windows.

Configuration de l'outil de développement Git

Il existe différentes manières de télécharger GitKraken en fonction de votre système d'exploitation. Dans les distributions Linux, vous pouvez parfois l'obtenir à partir du gestionnaire de paquets.

  1. Télécharger GitKraken.
  2. Dans votre navigateur, allez à: https://github.com/FreeCAD/FreeCAD.
  3. Cliquez sur le bouton Fork. Ceci va cloner le dépôt FreeCAD/FreeCAD sur votre compte Git. En d'autres termes, l'URL pour accéder à votre fork sera:
    https://github.com/GITHUBUSERNAME/FreeCAD.git
    
  4. Ouvrez GitKraken, allez sur File → Clone Repo, et saisissez cette adresse.
  5. GitKraken va maintenant effectuer un git clone de votre dépôt personnel.
    Veuillez lire le post "différence entre le référentiel du dépôt original et celui du dépôt cloné (Fork)" origin vs upstream. Pour résumer, le référentiel de votre propre dépôt (fork) de FreeCAD est origin, tandis que le référentiel du dépôt officiel FreeCAD est upstream. Par conséquent, vous devez maintenant configurer l'upstream.
  6. Allez sur File → Open Terminal ou effectuez la combinaison de touche Alt + T avec votre clavier. Saisissez ce qui suit pour configurer votre dépôt distant upstream.
    git remote add upstream https://github.com/FreeCAD/FreeCAD.git
    
  7. Vérifiez maintenant les branches distantes que vous avez définies:
    git remote -v
    
     Vous devriez voir quelque chose comme ça dans le terminal:
    
  8. origin	https://github.com/foobar/FreeCAD (fetch)
    origin	https://github.com/foobar/FreeCAD (push)
    upstream	https://github.com/FreeCAD/FreeCAD.git (fetch)
    upstream	https://github.com/FreeCAD/FreeCAD.git (push)
    
  9. Revenez sur l'interface de GitKraken. Sur le côté gauche de l'écran, vous verrez une barre latérale avec une section intitulée Local; double-cliquez sur la branche master pour la sélectionner comme branche active. En ligne de commande, cela équivaut à
    git checkout master
    
  10. Cliquez sur l'icône Push en haut à droite de l'interface. Cela poussera votre branche locale Local master vers votre branche distante Remote origin master

L'interface de GitKraken

Pour plus d'informations, consultez le Guide de démarrage de GitKraken.

Local signifie qu'il s'agit de votre machine locale.
Local master Votre branche locale de la branche FreeCAD master, indiqué par la ligne bleue sur la capture d'écran.

L'élément est surligné en vert, signifiant que la branche est actuellement active (git checkout).

Local <branch-name> Toutes les autres branches sur votre machine locale. Sur la capture d'écran, vous pouvez voir les branches appelées editor_fixes et editor_fixes_typos
Remote signifie qu'il s'agit d'un dépôt distant, par exemple dans GitHub
Remote upstream Le dépôt officiel de FreeCAD https://github.com/FreeCAD/FreeCAD, indiqué par la ligne verte sur la capture d'écran.
Remote origin Votre dépôt personnel (Fork) de FreeCAD, https://github.com/YourGitHubUsername/FreeCAD, indiqué par la ligne rouge sur la capture d'écran.

Interface GitKraken montrant trois branches locales (dont le master), et deux dépôts distants origin et upstream. Chacun des 2 dépôts distants ayant un master et plusieurs branches dans un dossier "releases".

Sur l'image, les branches distantes Local master et Remote origin master sont situées après trois commits derrière le Remote upstream master, c'est-à-dire le code source officiel de FreeCAD. Ceci est indiqué par les icônes illustrant les 3 étapes dans la liste qui représente l'historique de validation de la branche maître. Voir Rebasage pour mettre à jour les branches qui se trouvent derrière.

Rebasage

  • Sélectionnez la branche Local master en double cliquant sur elle (git checkout master) pour la rendre active.
  • Positionnez la souris sur le dernier commit de upstream, clic droit, et choisissez Rebase master onto upstream/master (git pull upstream master)
  • Cliquez maintenant sur le bouton Push (git push origin master). Ceci pousse votre branche locale Local master vers le dépôt distant Remote origin master.

Le rebasage de la branche master locale l'a met à jour avec les dernières modifications effectuées sur le dépôt officiel upstream master.

Branches

Les branches sont une fonctionnalité qui rend Git puissant par rapport aux autres systèmes de révision. Les branches ne sont pas des "Fork" complets, mais définissent plutôt des instantanés où une version du code commence à diverger de la branche principale. Chaque fois que vous souhaitez modifier le code de FreeCAD, créez d'abord une branche, puis effectuez des modifications, puis fusionnez vos commits dans la branche principale. Avec Git, il est simple de créer, fusionner et supprimer des branches lorsque vous n'en avez plus besoin. Veuillez lire Branchement et fusion pour en savoir plus sur ce processus dans GitKraken.

  1. Assurez-vous que la branche master est actuellement active (double-cliquez dessus, git checkout master). Dans GitKraken, la branche Local master doit être surlignée en vert.
  2. Cliquez sur le bouton Branch pour créer une nouvelle branche et saisissez son nouveau nom ( git checkout -b nouveau-nom-de-votre-branche).

Effectuer des pull requests

Des Pull requests (PRs) sont nécessaires pour fusionner le code de votre branche du dépôt local avec le code du dépôt distant upstream. Pour résumer le processus, une fois que vous avez modifié votre branche, vous devez la pousser vers votre fork GitHub ( origin, https: //github.com/GITHUB_USER_NAME/FreeCAD.git ), et à partir de là, faites un Pull Request sur le dépôt officiel upstream. GitKraken vous fait gagner quelques clics pour créer facilement des pull requests au lieu d'utiliser l'interface de GitHub.

Étapes dans GitKraken:

  • Trouvez votre branche locale sur l'interface et assurez-vous qu'elle est active (double-cliquez dessus).
  • Faites un clic droit sur le nom de la branche et trouvez l'option Push <your-branch-name> et effectuez un pull request.
GitKraken ouvrira une boîte de dialogue vous demandant de confirmer le dépôt que votre branche utilisera pour extraire et pousser. Il poussera ensuite votre branche locale vers ce dépôt distant.

  • GitKraken vous demandera comment vous voulez appeler la branche distante. Le nom par défaut est le même que celui de la branche locale sur votre ordinateur.

  • GitKraken ouvre alors une autre boîte de dialogue demandant aux dépôts et aux branches de fusionner, et la direction (de et vers).
Vous souhaitez normalement fusionner à partir du dépôt distant origin <your-branch-name> ( GITHUB_USER_NAME / FreeCAD) vers la branche distante upstream master ( FreeCAD / FreeCAD). Assurez-vous de saisir un bon titre pour la demande d'extraction et rédigez un paragraphe plus descriptif si vos modifications sont importantes. Consultez la documentation officielle de GitKraken pour plus d'informations.

Résolution des conflits lors d'une fusion

GitKraken dispose d'un outil de gestion des conflits de fusion spécial qui n'est accessible que dans la version GitKraken Pro. Cependant, il existe des solutions de contournement pour utiliser des outils externes pour la fusion.

Regroupement des commits

En tant que système de contrôle des révisions, Git encourage la réalisation de nombreux "commits" pour le suivis de vos modifications; Cependant, si vous avez trop de petits changements, l'historique des "commits" pourrait apparaître un peu désordonné. Le "Squashing" consiste à regrouper plusieurs "commits" en un seul. Dans le manuel GitKraken, le "squashing" est disponible pour les commits qui répondent aux exigences suivantes:

  • Vous devez sélectionner au moins deux commits à regrouper.
  • Le plus récent "commit", par date de "commit", est également le "commit" HEAD actuel.
  • Généalogiquement consécutif.
  • Chronologiquement consécutif.
  • Le "commit" le plus ancien de la liste a un parent.

Si toutes ces conditions sont remplies, l'option Squash apparaît lorsque vous cliquez avec le bouton droit sur le nœud de "commit". Voir Squash.gif

Suivre les autres dépôts FreeCAD

Vous pouvez utiliser GitKraken pour suivre les "Fork" FreeCAD personnels des autres développeurs; de cette façon, vous pouvez voir comment ils écrivent du code et valident des modifications dans leurs propres branches avant de soumettre des pull requests vers le dépôt upstream FreeCAD / FreeCAD.

  1. Dans le panneau latéral gauche à côté de la catégorie Remote, appuyez sur le signe +.
  2. Une boîte de dialogue apparaîtra pour saisir le nom du dépôt que vous souhaitez ajouter. Les dépôts distants recommandées proviennent des principaux développeurs de FreeCAD et des contributeurs connus: wmayer, yorikvanhavre, ickby, sliptonic, kkremitzki, etc.
  3. Appuyez sur Add Remote.

Désormais, chaque fois que de nouveaux commits sont effectués, ou que des branches sont rebasées, par les auteurs de ces dépôts, vous verrez leur historique de commit de manière graphique.

En relation