Developing FreeCAD with GitKraken/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(24 intermediate revisions by 3 users not shown)
Line 19: Line 19:
<ol>
<ol>
<li> Télécharger GitKraken.</li>
<li> Télécharger GitKraken.</li>
<li> Dans votre navigateur, allez à: {{URL|https://github.com/FreeCAD/FreeCAD}}.</li>
<li> Dans votre navigateur, allez à: {{URL|https://github.com/FreeCAD/FreeCAD}}.<br>

[[File:Github-Fork-button.png]]

</li>
<li> Cliquez sur le bouton '''Fork'''. Ceci va cloner le dépôt {{incode|FreeCAD/FreeCAD}} sur votre compte Git. En d'autres termes, l'URL pour accéder à votre fork sera:
<li> Cliquez sur le bouton '''Fork'''. Ceci va cloner le dépôt {{incode|FreeCAD/FreeCAD}} sur votre compte Git. En d'autres termes, l'URL pour accéder à votre fork sera:
<pre>
https://github.com/GITHUBUSERNAME/FreeCAD.git
</pre></li>
<li> Ouvrez GitKraken, allez sur {{MenuCommand|File → Clone Repo}}, et saisissez cette adresse.</li>
[[File:GitKraken-Clone-Repo-dialogue.png]]
<li> GitKraken va maintenant effectuer un {{incode|git clone}} de votre dépôt personnel.<br>


<pre>
Veuillez lire le post "différence entre le référentiel du dépôt original et celui du dépôt cloné (Fork)" [https://stackoverflow.com/questions/9257533/what-is-the-difference-between-origin-and-upstream-on-github#9257901 origin vs upstream]. Pour résumer, le référentiel de votre propre dépôt (fork) de FreeCAD est {{incode | origin}}, tandis que le référentiel du dépôt officiel FreeCAD est {{incode | upstream}}. Par conséquent, vous devez maintenant configurer l'upstream. </li>
https://github.com/GITHUBUSERNAME/FreeCAD.git
<li> Allez sur {{MenuCommand | File → Open Terminal}} ou effectuez la combinaison de touche {{KEY | Alt}} + {{KEY | T}} avec votre clavier. Saisissez ce qui suit pour configurer votre dépôt distant {{incode | upstream}}.
<pre>
git remote add upstream https://github.com/FreeCAD/FreeCAD.git
</pre></li>
<li> Vérifiez maintenant les branches distantes que vous avez définies:
<pre>
git remote -v
</pre>
</pre>

Vous devriez voir quelque chose comme ça dans le terminal:
</li>
</li>
<li> Ouvrez GitKraken, allez sur {{MenuCommand|File → Clone Repo}}, et saisissez cette adresse.<br>
<pre>

origin https://github.com/foobar/FreeCAD (fetch)
[[File:GitKraken-Clone-Repo-dialogue.png]]
origin https://github.com/foobar/FreeCAD (push)

upstream https://github.com/FreeCAD/FreeCAD.git (fetch)
</li>
upstream https://github.com/FreeCAD/FreeCAD.git (push)
<li> GitKraken va maintenant effectuer un {{incode|git clone}} de votre dépôt personnel.
</pre>

<li> 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 {{incode | master}} pour la sélectionner comme branche active. En ligne de commande, cela équivaut à
Veuillez lire le post "différence entre le référentiel du dépôt original et celui du dépôt cloné (Fork)" [https://stackoverflow.com/questions/9257533/what-is-the-difference-between-origin-and-upstream-on-github#9257901 origin vs upstream]. Pour résumer, le référentiel de votre propre dépôt (fork) de FreeCAD est {{incode | origin}}, tandis que le référentiel du dépôt officiel FreeCAD est {{incode | upstream}}. Par conséquent, vous devez maintenant configurer l'upstream. </li>
<pre>
<li>Localiser la barre latérale dans Gitkraken. Il y a les sections '''Local''' et '''Remote'''. Local fait référence à vos branches locales. Remote fait référence aux dépôts distants et à leurs branches. Ajoutons le dépôt FreeCAD comme dépôt distant. Dans la section ''Remote'', cliquez sur le {{Button|+}}. (comme illustré dans l'image ci-dessous).<br>

[[File:Gitkraken-remote-sidebar.png]]

</li>
<li>Une boîte de dialogue '''Add Remote''' s'ouvre. Cliquez sur le symbole (1) de Github. Dans le champ (2) '''Github repo''', trouvez le {{incode|FreeCAD/FreeCAD}} et cliquez dessus. Dans le champ '''Name''', tapez {{incode|upstream}}. Cliquez ensuite sur le bouton {{Button|Add Button}}.<br>

[[File:Gitkraken-add-remote-dark.png|400px]]

</li>
<li>La boîte de dialogue se ferme et vous revenez à l'interface principale de GitKraken. Cette fois, trouvez la section ''Local'' dans la barre latérale ; double-cliquez sur la branche {{incode|master}} pour y accéder. Dans la ligne de commande, ceci est équivalent à

<pre>
git checkout master
git checkout master
</pre> </li>
</pre>

<li> 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''' </li>
</li>
<li>Cliquez sur l'icône ''Push'' en haut à droite de l'interface. Ceci va pousser votre '''maître local''' vers votre '''maître d'origine distant'''.</li>
</ol>
</ol>


Line 105: Line 108:
Des [https://help.github.com/articles/about-pull-requests/ 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 {{incode | upstream}}. Pour résumer le processus, une fois que vous avez modifié votre branche, vous devez la pousser vers votre fork GitHub ({{incode | origin}}, {{URLn | https: //github.com/GITHUB_USER_NAME/FreeCAD.git}} ), et à partir de là, faites un Pull Request sur le dépôt officiel {{incode | upstream}}. GitKraken vous fait gagner quelques clics pour créer facilement des pull requests au lieu d'utiliser l'interface de GitHub.
Des [https://help.github.com/articles/about-pull-requests/ 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 {{incode | upstream}}. Pour résumer le processus, une fois que vous avez modifié votre branche, vous devez la pousser vers votre fork GitHub ({{incode | origin}}, {{URLn | https: //github.com/GITHUB_USER_NAME/FreeCAD.git}} ), et à partir de là, faites un Pull Request sur le dépôt officiel {{incode | upstream}}. GitKraken vous fait gagner quelques clics pour créer facilement des pull requests au lieu d'utiliser l'interface de GitHub.


Steps in GitKraken:
Étapes dans GitKraken:
* Find you local branch on the interface and make sure it's active (double click on it).
* Trouvez votre branche locale sur l'interface et assurez-vous qu'elle est active (double-cliquez dessus).
* Right click the branch name and find the option to '''Push <your-branch-name> and start a pull request'''.
* 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 will open a dialog that asks you to confirm the repository which your branch will use to pull and push. It will then push your local branch to that remote repository.
[[File:Gitkraken-How to PR.png]]
[[File:Gitkraken-How to PR.png]]
* GitKraken will ask you what you want to call the remote branch. The default name is the same name that the branch has locally in your computer.
* 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.
[[File:Gitkraken-How-to-PR-Prompt-for-Branch-name.png|1200px]]
[[File:Gitkraken-How-to-PR-Prompt-for-Branch-name.png|1200px]]
* GitKraken then opens up another dialog asking the repositories and branches to merge, and the direction (from and to).
* 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).
:You normally want to merge from the remote '''origin <your-branch-name>''' ({{incode|GITHUBUSERNAME/FreeCAD}}) to the remote '''upstream master''' branch ({{incode|FreeCAD/FreeCAD}}). Be sure to enter a good title for the pull request, and write a more descriptive paragraph if your changes are significant. Consult the official documentation of [https://support.gitkraken.com/working-with-repositories/pull-requests GitKraken] for more information.
: Vous souhaitez normalement fusionner à partir du dépôt distant origin '''<your-branch-name>''' ({{incode | GITHUB_USER_NAME / FreeCAD}}) vers la branche distante '''upstream master''' ({{incode | 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 [https://support.gitkraken.com/working-with-repositories/pull-requests GitKraken] pour plus d'informations.
[[File:Gitkraken-How-to-PR-Github-Dialog-breakdown.png]]
[[File:Gitkraken-How-to-PR-Github-Dialog-breakdown.png]]


== Résolution des conflits lors d'une fusion ==
== Resolving merge conflicts ==


GitKraken has a special merge conflict tool that is only accessible in the GitKraken Pro version. However, there are workarounds to use external tools for merging.
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.
* [https://support.gitkraken.com/working-with-repositories/branching-and-merging/ GitKraken compatible external merge tools]: Beyond Compare, FileMerge, Kaleidoscope, KDiff, Araxis, P4Merge
* [https://support.gitkraken.com/working-with-repositories/branching-and-merging/ Outils de fusion externes compatibles GitKraken]: Beyond Compare, FileMerge, Kaleidoscope, KDiff, Araxis, P4Merge
* If none of the above options work for you, it's possible to specify [https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_external_merge_tools External merge and diff tools] within the configuration file {{incode|~/.gitconfig}} in your user's home directory.
* Si aucune des options ci-dessus ne fonctionne pour vous, il est possible de spécifier [https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_external_merge_tools Outils externes de fusion et de comparaison] dans le fichier de configuration {{incode | ~/.gitconfig}} du dossier utilisateur.


== Squashing commits ==
== Regroupement des commits ==


As a revision control system Git encourages making many commits to keep track of your changes; however, if you have too many small changes the commit history may look a bit messy. Squashing is condensing various commits into only one commit. From the [https://support.gitkraken.com/working-with-commits/squash/ GitKraken manual], squashing is available for commits that meet the following requirements:
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 [https://support.gitkraken.com/working-with-commits/squash/ manuel GitKraken], le "squashing" est disponible pour les commits qui répondent aux exigences suivantes:
* You need to select at least two commits to squash.
* Vous devez sélectionner au moins deux commits à regrouper.
* The youngest commit, by commit date, is also the current HEAD commit.
* Le plus récent "commit", par date de "commit", est également le "commit" HEAD actuel.
* Généalogiquement consécutif.
* Genealogically consecutive.
* Chronologiquement consécutif.
* Chronologically consecutive.
* The oldest commit in the list has a parent.
* Le "commit" le plus ancien de la liste a un parent.


If all these conditions are met, the '''Squash''' option appears when you right click the commit node. See [https://support.gitkraken.com/img/documentation/working-with-files/commits/squash.gif Squash.gif]
Si toutes ces conditions sont remplies, l'option '''Squash''' apparaît lorsque vous cliquez avec le bouton droit sur le nœud "commit". Voir [https://support.gitkraken.com/img/documentation/working-with-files/commits/squash.gif Squash.gif]


== Suivre les autres dépôts FreeCAD ==
== 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 au référentiel upstream {{incode | FreeCAD / 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 {{incode | FreeCAD / FreeCAD}}.
# Dans le panneau latéral gauche à côté de la catégorie '''Remote''', appuyez sur le signe '''+'''.
# Dans le panneau latéral gauche à côté de la catégorie '''Remote''', appuyez sur le signe '''+'''.
# Une boîte de dialogue apparaîtra pour saisir le nom du référentiel 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.
# 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.
# Appuyez sur '''Add Remote'''.
# 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 référentiels, vous verrez leur historique de commit de manière graphique.
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.
[[File:Gitkraken-add-remote.gif]]
[[File:Gitkraken-add-remote.gif]]



Latest revision as of 20:42, 22 March 2022

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. Localiser la barre latérale dans Gitkraken. Il y a les sections Local et Remote. Local fait référence à vos branches locales. Remote fait référence aux dépôts distants et à leurs branches. Ajoutons le dépôt FreeCAD comme dépôt distant. Dans la section Remote, cliquez sur le +. (comme illustré dans l'image ci-dessous).
  7. Une boîte de dialogue Add Remote s'ouvre. Cliquez sur le symbole (1) de Github. Dans le champ (2) Github repo, trouvez le FreeCAD/FreeCAD et cliquez dessus. Dans le champ Name, tapez upstream. Cliquez ensuite sur le bouton Add Button.
  8. La boîte de dialogue se ferme et vous revenez à l'interface principale de GitKraken. Cette fois, trouvez la section Local dans la barre latérale ; double-cliquez sur la branche master pour y accéder. Dans la ligne de commande, ceci est équivalent à
    git checkout master
    
  9. Cliquez sur l'icône Push en haut à droite de l'interface. Ceci va pousser votre maître local vers votre maître d'origine distant.

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 "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