-
Notifications
You must be signed in to change notification settings - Fork 0
Git
[to do: translate...] Git est un système libre (open source) de contrôle de version qui permet de gérer rigoureusement les fichiers sources d'un projet et de conserver le récit complet des modifications. Dans un projet git, l'historique des versions est maintenu à travers un principe de détection de différences (dit diffing en anglais) permettant d'enregistrer uniquement les modifications qui distinguent les versions plutôt que les fichiers complets propres à chacune des versions. À l'origine, ce système a été conçu et développé par le créateur de Linux Linus Torvalds.
[to do: translate...] Traditionnellement, git prescrit aux utilisateurs un ensemble de commandes à exécuter dans une console (par exemple, Terminal sur MacOS ou CMD sur Windows), à partir de l'intérieur d'un dépôt, pour produire des effets spécifiques. Si vous désirez utiliser git localement, sur votre propre ordinateur plutôt que via un fureteur, votre ordinateur aura besoin d'une interface afin d'interpréter les commandes. Les utilisateurs qui ne cherchent qu'à utiliser des fonctionnalités de base de git peuvent aujourd'hui profiter d'interfaces graphiques qui simplifient l'utilisation de git via des boutons et des champs d'entrée de texte (voir plus bas). Si vous désirez quand même explorer l'interface de ligne de commande, vous devrez télécharger la version adéquate pour votre système d'exploitation.
The repository (often shortened as repo) is the basis of all projects adopting Git as their archiving system.
[to do: translate...]
Le « dépôt » (ou plus souvent « repo » de l'anglais « repository ») est la base de tous les projets adoptant le système git.
Il s'agit essentiellement d'un répertoire qui contient, en plus des dossiers et documents que nous créons, un dossier .git
servant entre autres à conserver l'historique des modifications.
Typiquement, en tant qu'utilisateur nous n'intervenons jamais directement sur le contenu de ce dossier, mais utiliserons plutôt des commandes ou des interfaces pour déclencher les fonctionnalités ou ajuster les configurations souhaitées.
📁 the-repository-name
↳ 📁 .git
↳ ...the repository's contents
Cette branche portant typiquement le nom main
ou master
est celle utilisée par défaut. Elle représente l'état de référence du projet. Par exemple, dans le cas d'un projet de développement (site web ou logiciel), le contenu de cette branche correspond généralement aux fichiers sources de la plus récente version stable diffusée.
Les participants d'un projet peuvent créer leur propre(s) branche(s) pour diverger temporairement du flux principal des activités. Il devient alors possible de travailler sur le projet avec un récit de modification indépendant des autres activités pour la durée de vie de la branche. Une fois que l'état souhaité des modifications est atteint, nous pouvons réintégrer le travail de cette branche secondaire en le fusionnant à la branche principale.
The Git archiving system comes with a rather dry command language. As we will see below, as a user you can use different tools to interact with git using higher-level and simplified interfaces (more human-readable commands, graphical interfaces, etc.). In these cases, the tools will generally handle the lower-level Git commands themselves, but it can still be useful and interesting to know what these underlying building blocks are, or at least have an idea of what they look like. Here are a few documentation links on some of the most commonly used git commands:
While these can look simple after some time familiarising yourself with them, it is worth noting that there also are some more complex ones used to handle a variety of situations (ex.: to resolve conflicts when users are trying to merge two different states of a repository branch).
ℹ️ Documentations
As a more general note, notice above we shared links to Git's website where pages present in details some commands. Such sections of a tool's website are usually referred to as docs (short for documentation). It is a very common practice in the digital world to offer an exhaustive public documentation to users to ensure they can learn how to use their tools in-depth. For example, GitHub also has its own docs, with articles on wide variety of subjects: https://docs.github.com/en.