Try  HackMD Logo HackMD

Git - Bien débuter avec git et github

Git :
Git est un système de contrôle de version distribué largement utilisé. Il a été développé par Linus Torvalds, créateur du noyau Linux. Git permet de gérer efficacement les modifications apportées aux fichiers d'un projet, en conservant un historique complet des versions et des modifications effectuées. Il fonctionne localement sur votre machine et vous permet de créer des commits, des branches et de fusionner facilement les modifications.

GitHub :
GitHub est une plateforme d'hébergement de code basée sur Git. C'est un service web qui facilite la collaboration et le partage de projets. GitHub permet d'héberger des dépôts Git et offre de nombreuses fonctionnalités supplémentaires, telles que la gestion des problèmes (issues), le suivi des projets, les demandes de fusion (pull requests) et la collaboration entre les membres d'une équipe. Il fournit également des fonctionnalités de social coding, permettant aux développeurs de contribuer à des projets open source et de collaborer avec d'autres personnes du monde entier.

Différence entre Git et GitHub :
Il est important de ne pas confondre Git et GitHub, car ce sont deux entités distinctes :

  • Git est un système de contrôle de version qui fonctionne en local sur votre machine. Il permet de suivre les modifications de fichiers, de créer des branches, de fusionner les modifications, etc. Git n'a pas besoin d'une connexion Internet et peut être utilisé de manière autonome.

  • GitHub est une plateforme d'hébergement basée sur Git, qui offre des fonctionnalités supplémentaires et permet de partager et de collaborer sur des projets. GitHub nécessite une connexion Internet et vous permet de télécharger vos dépôts Git locaux sur le serveur GitHub, où ils peuvent être partagés et accessibles à d'autres collaborateurs.

En résumé, Git est le système de contrôle de version, tandis que GitHub est une plateforme web qui facilite l'hébergement, la collaboration et le partage de projets Git.

Prérequis

Pour les utilisateurs de Windows :

Installer Git-SCM : www.git-scm.com

Top départ

Pour commencer

  1. Créer un compte sur www.github.com

  2. Créer un "repository" avec les options par défaut (n'ajouter pas de fichiers lors de la création)

  1. Ouvrez votre dossier de projet dans vs-code (dossier de site sur votre PC)

Notez que vous pouvez créer un dépôt publique ou privé. Tout dépend du degré de confidentialité que vous souhaitez pour votre projet. Avec un abonnement github gratuit, certaines fonctionnalités peuvent être bloquées si vous créer un dépôt privé.

  1. Entrez les commandes indiquées sur votre espace GitHub

git init

Cela permet d'utiliser git comme outil de gestion de version en local.

On execute cette commande une seule fois pour chaque nouveau projet.
Il est très important d' executer cette commande à la racine de votre dossier de site ou d'application. Cela créera un dossier .git/ à la racine de votre dossier. Aussi votre dossier pourrait ressembler à cela:

.
├── .git
├── .gitignore
├── .vscode
├── css
├── images
├── index.html
├── js
├── LICENSE.md
├── NOTES.md
└── README.md
git add .

Cela indique que tous les fichiers seront ajouter à l'index de git. Tous les fichiers sont pris en compte pour la gestion de version. Cela prépare les fichiers pour être inclus dans le prochain commit.

git commit -m "Commencement du projet"

Après avoir ajouté les fichiers à l'index, cette commande crée un commit, qui est une capture instantanée de l'état actuel de votre projet. Vous ajoutez un message descriptif (entre les guillemets) pour expliquer les modifications apportées dans ce commit en particulier.

git remote add origin https://github.com/alternative-rvb/<nom-du-projet>.git

Renseigner l'adresse URL du dépôt donnée lors de la création du dépôt sur votre espace github.

Cette commande permet de lier votre dépôt Git local à un dépôt distant sur GitHub. Vous spécifiez l'URL du dépôt distant et lui donnez le nom "origin" (bien que vous puissiez utiliser d'autres noms). Cela établit une connexion entre votre dépôt local et le dépôt distant sur GitHub.

git branch -M main

Cette commande renomme la branche par défaut de votre dépôt local de "master" à "main". master devient main.

git push -u origin main

Après avoir effectué vos commits locaux, cette commande envoie les modifications de votre branche locale vers le dépôt distant spécifié (dans cet exemple, le dépôt "origin" sur GitHub). Les changements sont poussés sur la branche principale (main) du dépôt distant. L'option "-u" (ou "set-upstream") est utilisée pour configurer la branche locale pour suivre la branche distante, ce qui permet de simplifier les futures commandes de push.

Commandes à exécuter régulièrement par la suite

Penser à créer régulièrement des commits. Mettre un message significatif représentant les changements apportés aux fichiers

git add .
git commit -m "message du commit"
git push

Sur un autre PC

Vous pouvez travailler à différents endroits et / ou sur différentes machines (PC).

Pour commencer

git clone https://github.com/alternative-rvb/test.git
git fetch

Si nécessaire connectez-vous

Commandes à exécuter régulièrement par la suite

git add .
git commit -m "message du commit"
git push

Quand vous changer de PC

Si vous changez de PC il est peut-être nécessaire d'effectuer git pull pour récupérer les dernières modifications que vous aviez fait.

git pull

Les branches

Lister les branches

git branch

Créer une branche

git branch <nom-de-la-branche>

Basculer de branche

git switch <nom-de-la-branche>

Ajouter des collaborateurs à votre projet

Réf: https://docs.github.com/fr/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository