GitHub et Git Extensions

2018-07-14

Une alternative au logiciel de gestion de version proposé par GitHub, GitHub for Windows, est Git Extensions qui est, de mon point de vue, beaucoup plus complet & clair.

Installation & Configuration initiale de Git Extensions

Je vous propose de suivre le très bon tutoriel ici jusqu'à l'étape de création & de l'ajout de la clé SSH RSA dans GitHub.

En effet, il est possible de parcourir et de cloner directement des repository, disponibles dans son compte GitHub ou non.
Il suffit de lancer Git Extensions et de cliquer sur "Clone Github repository", d'entrer ses identifiants GitHub et de choisir quel repository on souhaite cloner. Si le logiciel demande une clé SSH, pointer vers le *.ppk fait dans le tutoriel.

Et voilà !

Quelques observations sur Git

Etant nouveau à l'utilisation de Git, voici quelques particularités que j'ai remarqué qui pourraient être utiles.

Proposer une amélioration à un code existant

  • Il faut faire un fork du repository d'où le code à modifier provient
  • Récupérer son fork dans Git Extensions, via l'extension GitHub
  • Faire les modifications nécessaires, et faire les commit (changements sur le serveur) en conséquences
  • Une fois que tout les commits voulus sont faits, on peut demander depuis l'interface de GitHub une fusion (merge) de votre fork vers le master du repository principal.
  • Si la fusion est acceptée, vos modifications sont versées dans le code du projet principal.

Par exemple, j'ai fork le repository hjue/JustWriting dans mon profil, ce qui donne le repository Chouffy/JustWriting.
On peut voir le résultat dans le réseau du projet sur GitHub (merge #44 du 22 décembre).

Intégration de modification d'une branche dans une autre

  • Sélectionner la branche qui doit intégrer les changements
  • Puis effectuer la fusion dans Commands > Merge Branch
  • Fusionner avec la branche qui possède le changement voulu, sans l'option d'avance rapide (fast forward).

Par exemple, si j'effectue une modification dans la branche master et que je veux que celle-ci soit appliquée dans la branche dev (sur laquelle je travaille et qui a plusieurs différences avec master), il faut être dans la branche dev et fusionner les changements de master.

Source (Git-SCM.com)


Tags: Logiciel