Résumé de mes premiers pas avec GitHub (pour information j'utilise un mac mais la plupart des commentaires ci-dessous sont valables pour d'autres systèmes):
Installer Github et créer un compte
La premiere étape consiste à installer Github sur sa machine. Pour cela rendez vous sur la page suivante (voir aussi Installing Git – the easy way).
Puis de créer son compte sur github.
Configurer localement son adresse email.
La seconde étape (qui est optionnelle) est de configurer localement son email (voir Setting your commit email address
), en tapant la commande suivante:
git config user.email "toto@gmail.com"
Note: pour vérifier que votre adresse email est correctement configurée, il suffit de d'entrer la commande:
git config user.email
qui doit donner par exemple "toto@gmail.com".
Il est nécessaire de configurer localement son adresse email pour que vos contributions depuis votre machine soient visibles sur votre compte github en ligne (voir Why are my contributions not showing up on my profile?).
Commandes de base avec Github
Une fois github installé et correctement configuré on peut alors créer un premier répertoire en allant dans l'onglet "repositories" voir image ci dessus:
puis en cliquant sur "New" (voir image ci dessus):
On arrive arrive alors sur une fenêtre nous demandant de donner un nom pour notre nouveau répertoire (on peut aussi choisir de créer un fichier "readme" et une licence. Pour les licences voir par exemple le site Choose an open source license pour comprendre les différences):
Une fois ce dernier crée, on peut alors cliquer sur le bouton "code" (voir ci dessus) pour obtenir l'adresse url ("https://github.com/....") de notre répertoire:
Après avoir copié l'adresse url on peut alors télécharger le répertoire sur note machine locale avec la première commande de base github suivante (remplacer https://github.com/.... par l'url du répertoire cible) :
git clone https://github.com/....
Cette commande clone tout simplement le répertoire sur votre machine. Dans le cas cas d'un nouveau répertoire on commence avec un simple fichier README.md (md for markdown) et un fichier spécifiant la licence. On peut alors commencer à travailler localement sur le projet. On peut par exemple ajouter le fichier index.html avec la commande unix "touch" comme ceci:
touch index.html
Pour l'instant ce fichier n'est disponible que sur votre machine. Pour mettre à jour le répertoire en ligne il faut utiliser les commandes suivantes, tout d'abord 'git add':
git add index.html
puis 'git commit' aves un message (-m) décrivant la mise a jour (remplacer "add a new file" par votre commentaire perso)
git commit -m 'add a new file'
Après ces deux commandes on peut enfin soumettre la mise à jour avec la commande:
git push
Voilà pour les commandes de base de Github (voir aussi la video suivante Github Tutorial For Beginners - Github Basics for Mac or Windows & Source Control Basics)
Gérer les fichiers de grande taille
Si vous ajouter un fichier avec beaucoup de données, par exemple "data.csv". Il est probable de voir apparaître le message d'erreur suivant:
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
Dans ce cas il faut passer par: Git Large File Storage (LFS) pour pouvoir soumettre le fichier. Pour installer git-lfs par exemple sur mac on peut utiliser la commande suivante (pour d'autres systemes comme Windows ou Ubuntu voir le lien):
brew install git-lfs
Pour finir d'installer git-lfs, il suffit ensuite d'entrer les deux commandes suivantes;
git lfs install
et
git lfs install --system
Maintenant on peut soumettre un fichier de grande taille. Si le fichier possede l'extension .csv on peut faire comme ceci:
git lfs track "*.csv"
puis
git add .gitattributes
git add data.csv
git commit -m 'adding input data file'
git push
Ajouter tous les fichiers d'un répertoire
Conclusion
Dans cette courte note j'ai rassemblé de manière succincte mes premiers pas avec Github et mes premières erreurs (comme avec les fichiers de grandes tailles et de ne pas configurer mon adresse email). Si vous avez d'autres suggestions n'hésitez pas a les mettres en commentaire.
Références
- Download for macOS
- Github Tutorial For Beginners - Github Basics for Mac or Windows & Source Control Basics
- An open source Git extension for versioning large files
- How to use Git Large File Storage (git-lfs)
- git: 'lfs' is not a git command unclear
- Git: Add All Files to a Repo
- How do I create a folder in a GitHub repository?
- How to commit a directory into a git repository?
- how to git commit a whole folder?