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.
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.
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.
https://github.com/FreeCAD/FreeCAD
.FreeCAD/FreeCAD
sur votre compte Git. En d'autres termes, l'URL pour accéder à votre fork sera:
https://github.com/GITHUBUSERNAME/FreeCAD.git
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. FreeCAD/FreeCAD
et cliquez dessus. Dans le champ Name, tapez upstream
. Cliquez ensuite sur le bouton Add Button.master
pour y accéder. Dans la ligne de commande, ceci est équivalent à
git checkout master
Pour plus d'informations, consultez le Guide de démarrage de GitKraken.
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 ( |
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 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.
git checkout master
) pour la rendre active.git pull upstream master
)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.
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.
git checkout master
). Dans GitKraken, la branche Local master doit être surlignée en vert. git checkout -b nouveau-nom-de-votre-branche
).
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:
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.
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.
~/.gitconfig
du dossier utilisateur.
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:
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
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
.
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.