Comment utiliser Git pour gérer votre projet d’écriture

introduction

Le contrôle de version ne concerne pas uniquement le code. C’est pour tout ce que vous voulez suivre, y compris le contenu. L'utilisation deGit pour gérer votre prochain projet d'écriture vous donne la possibilité d'afficher plusieurs brouillons en même temps, de voir les différences entre ces brouillons et même de revenir à une version précédente. Et si cela vous convient, vous pouvez ensuite partager votre travail avec d’autres utilisateurs sur GitHub ou d’autres référentiels centraux Git.

Dans ce tutoriel, vous utiliserez Git pour gérer un petit document de Markdown. Vous allez stocker une version initiale, la valider, y apporter des modifications, voir la différence entre ces modifications et revoir la version précédente. Une fois terminé, vous aurez un flux de travail que vous pourrez appliquer à vos propres projets d’écriture.

Conditions préalables

[[step-1 -—- creating-a-workspace-for-your-writing-project]] == Étape 1 - Création d'un espace de travail pour votre projet d'écriture

Pour gérer vos modifications, vous allez créer un référentiel Git local. Un référentiel Git réside dans un répertoire existant, commencez donc par créer un nouveau répertoire pour votre article:

mkdir article

Basculez vers le nouveau répertoirearticle:

cd article

La commandegit init crée un nouveau référentiel Git vide dans le répertoire courant. Exécutez cette commande maintenant:

git init

Vous verrez la sortie suivante qui confirme que votre référentiel a été créé:

OutputInitialized empty Git repository in /Users/sammy/article/.git/

Le fichier.gitignore vous permet d'indiquer à Git que certains fichiers doivent être ignorés. Vous pouvez l'utiliser pour ignorer les fichiers temporaires créés par votre éditeur de texte ou les fichiers du système d'exploitation. Sur macOS, par exemple, l'application Finder crée des fichiers.DS_Store dans des répertoires. Créez un fichier.gitignore qui les ignore:

nano .gitignore

Ajoutez les lignes suivantes au fichier:

gitignore
# Ignore Finder files
.DS_store

La première ligne est un commentaire qui vous aidera à identifier ce que vous ignorez à l’avenir. La deuxième ligne spécifie le fichier à ignorer.

Enregistrez le fichier et quittez l'éditeur.

Lorsque vous découvrez d'autres fichiers que vous souhaitez ignorer, ouvrez le fichier.gitignore et ajoutez une nouvelle ligne pour chaque fichier ou répertoire que vous souhaitez ignorer.

Maintenant que votre référentiel est configuré, vous pouvez commencer à travailler.

[[step-2 -—- save-your-initial-draft]] == Étape 2 - Enregistrement de votre premier brouillon

Git ne connaît que les fichiers dont vous parlez. Ce n’est pas parce qu’un fichier existe dans le répertoire contenant le référentiel que Git suivra ses modifications. Vous devez ajouter un fichier au référentiel, puis valider les modifications.

Créez un nouveau fichier Markdown appeléarticle.md:

nano article.md

Ajoutez du texte au fichier:

article.md

# How To Use Git to Manage Your Writing Project

### Introduction

Version control isn't just for code. It's for anything you want to track, including content. Using Git to manage your next writing project gives you the ability to view multiple drafts at the same time,  see differences between those drafts, and even roll back to a previous version. And if you're comfortable doing so, you can then share your work with others on GitHub or other central git repositories.

In this tutorial you'll use Git to manage a small Markdown document. You'll store an initial version, commit it, make changes, view the difference between those changes, and review the previous version. When you're done, you'll have a workflow you can apply to your own writing projects.

Enregistrez les modifications et quittez l'éditeur.

La commandegit status vous montrera l'état de votre référentiel. Il vous indiquera quels fichiers doivent être ajoutés pour que Git puisse les suivre. Exécutez cette commande:

git status

Vous verrez cette sortie:

OutputOn branch master

No commits yet

Untracked files:
  (use "git add ..." to include in what will be committed)

    .gitignore
    article.md

nothing added to commit but untracked files present (use "git add" to track)

Dans la sortie, la sectionUntracked files montre les fichiers que Git ne regarde pas. Ces fichiers doivent être ajoutés au référentiel pour que Git puisse les surveiller. Utilisez la commandegit add pour ce faire:

git add .gitignore
git add article.md

Maintenant, exécutezgit status pour vérifier que ces fichiers ont été ajoutés:

OutputOn branch master

No commits yet

Changes to be committed:
  (use "git rm --cached ..." to unstage)

    new file:   .gitignore
    new file:   article.md

Les deux fichiers sont maintenant répertoriés dans la sectionChanges to be committed. Git est au courant, mais il n’a pas encore créé d’instantané du travail. Utilisez la commandegit commit pour ce faire.

Lorsque vous créez un nouveau commit, vous devez fournir un message de commit. Un bon message de validation indique quels sont vos changements. Lorsque vous travaillez avec d’autres personnes, plus vos messages de validation sont détaillés, mieux ce sera.

Utilisez la commandegit commit pour valider vos modifications:

git commit -m "Add gitignore file and initial version of article"

La sortie de la commande montre que les fichiers ont été validés:

Output[master (root-commit) 95fed84] Add gitignore file and initial version of article
 2 files changed, 9 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 article.md

Utilisez la commandegit status pour voir l'état du référentiel:

git status

La sortie montre qu'il n'y a aucune modification à ajouter ou à valider.

OutputOn branch master
nothing to commit, working tree clean

Voyons maintenant comment travailler avec les changements.

[[step-3 -—- saving-revisions]] == Étape 3 - Enregistrement des révisions

Vous avez ajouté votre version initiale de l'article. Vous allez maintenant ajouter plus de texte afin que vous puissiez voir comment gérer les modifications avec Git.

Ouvrez l'article dans votre éditeur:

nano article.md

Ajoutez du texte à la fin du fichier:

## Prerequisites

* Git installed on your local computer. The tutorial [How to Contribute to Open Source: Getting Started with Git](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git) walks you through installing Git and covers some background information you may find useful.

Enregistrez le fichier.

Utilisez la commandegit status pour voir où en sont les choses dans votre référentiel:

git status

La sortie montre qu'il y a des changements:

OutputOn branch master
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

    modified:   article.md

no changes added to commit (use "git add" and/or "git commit -a")

Comme prévu, le fichierarticle.md a changé.

Utilisezgit diff pour voir ce qu'ils sont:

git diff article.md

La sortie montre les lignes que vous avez ajoutées:

diff --git a/article.md b/article.md
index 77b081c..ef6c301 100644
--- a/article.md
+++ b/article.md
@@ -5,3 +5,7 @@
 Version control isn't just for code. It's for anything you want to track, including content. Using Git to manage your next writing project gives you the ability to view multiple drafts at the same time,  see differences between those drafts, and even roll back to a previous version. And if you're comfortable doing so, you can then share your work with others on GitHub or other central git repositories.

 In this tutorial you'll use Git to manage a small Markdown document. You'll store an initial version, commit it, make changes, view the difference between those changes, and review the previous version. When you're done, you'll have a workflow you can apply to your own writing projects.
+
+## Prerequisites
+
+* Git installed on your local computer. The tutorial [How to Contribute to Open Source: Getting Started with Git](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git) walks you through installing Git and covers some background information you may find useful.

Dans la sortie, les lignes commençant par un signe plus (+) sont des lignes que vous avez ajoutées. Les lignes supprimées apparaissent avec un signe moins (-). Les lignes inchangées n'auraient aucun de ces caractères devant.

Utilisergit diff etgit status est un moyen utile de voir ce que vous avez changé. Vous pouvez également enregistrer le diff dans un fichier afin de pouvoir le visualiser ultérieurement à l'aide de la commande suivante:

git diff article.md > article_diff.diff

L'utilisation de l'extension.diff aidera votre éditeur de texte à appliquer la coloration syntaxique appropriée.

L'enregistrement des modifications dans votre référentiel est un processus en deux étapes. Tout d'abord, ajoutez à nouveau le fichierarticle.md, puis validez. Git veut que vous lui indiquiez explicitement quels fichiers vont dans chaque commit, alors même si vous aviez déjà ajouté le fichier, vous devez le rajouter. Notez que la sortie de la commandegit status vous le rappelle.

Ajoutez le fichier puis validez les modifications en fournissant un message de validation:

git add article.md
git commit -m "add prerequisites section"

La sortie vérifie que le commit a fonctionné:

Output[master 1fbfc21] add prerequisites section
 1 file changed, 4 insertions(+)

Utilisezgit status pour voir l'état de votre référentiel. Vous verrez qu’il n’ya rien d’autre à faire.

git status
OutputOn branch master
nothing to commit, working tree clean

Continuez ce processus en révisant votre article. Apportez les modifications, vérifiez-les, ajoutez le fichier et validez les modifications avec un message détaillé. Commettez vos changements aussi souvent ou aussi peu que vous le souhaitez. Vous pouvez effectuer un commit après avoir terminé chaque brouillon ou juste avant de refaire en profondeur la structure de votre article.

Si vous envoyez un brouillon d'un document à quelqu'un d'autre et que celui-ci y apporte des modifications, prenez sa copie et remplacez votre fichier par le sien. Utilisez ensuitegit diff pour voir rapidement les modifications qu'ils ont apportées. Git verra les modifications si vous les avez saisies directement ou si vous avez remplacé le fichier par celui que vous avez téléchargé sur le Web, par courrier électronique ou ailleurs.

Voyons maintenant comment gérer les versions de votre article.

[[step-4 -—- manage-changes]] == Étape 4 - Gestion des modifications

Il est parfois utile de consulter une version antérieure d’un document. Chaque fois que vous avez utiliségit commit, vous avez fourni un message utile qui résume ce que vous avez fait.

La commandegit log vous montre l'historique des validations de votre référentiel. Chaque modification que vous avez validée a une entrée dans le journal.

git log
Outputcommit 1fbfc2173f3cec0741e0a6b21803fbd0be511bc4
Author: Sammy Shark 
Date:   Thu Sep 19 16:35:41 2019 -0500

    add prerequisites section

commit 95fed849b0205c49eda994fff91ec03642d59c79
Author: Sammy Shark 
Date:   Thu Sep 19 16:32:34 2019 -0500

    Add gitignore file and initial version of article

Chaque commit a un identifiant spécifique. Vous utilisez ce numéro pour référencer les modifications d’un commit spécifique. Vous n'avez cependant besoin que des premiers caractères de l'identifiant. La commandegit log --oneline vous donne une version condensée du journal avec des identifiants plus courts:

git log --oneline
Output1fbfc21 add prerequisites section
95fed84 Add gitignore file and initial version of article

Pour afficher la version initiale de votre fichier, utilisezgit show et l'identificateur de validation. Les identifiants de votre référentiel seront différents de ceux de ces exemples.

git show 95fed84 article.md

La sortie affiche les détails de la validation, ainsi que les modifications apportées lors de cette validation:

Outputcommit 95fed849b0205c49eda994fff91ec03642d59c79
Author: Sammy Shark 
Date:   Thu Sep 19 16:32:34 2019 -0500

    Add gitignore file and initial version of article

diff --git a/article.md b/article.md
new file mode 100644
index 0000000..77b081c
--- /dev/null
+++ b/article.md
@@ -0,0 +1,7 @@
+# How To Use Git to Manage Your Writing Project
+
+### Introduction
+
+Version control isn't just for code. It's for anything you want to track, including content. Using Git to manage your next writing project gives you the ability to view multiple drafts at the same time,  see differences between those drafts, and even roll back to a previous version. And if you're comfortable doing so, you can then share your work with others on GitHub or other central git repositories.
+
+In this tutorial you'll use Git to manage a small Markdown document. You'll store an initial version, commit it, make changes, view the difference between those changes, and review the previous version. When you're done, you'll have a workflow you can apply to your own writing projects.

Pour voir le fichier lui-même, modifiez légèrement la commande. Au lieu d'un espace entre l'identifiant de validation et le fichier, remplacez par:./ comme ceci:

git show 95fed84:./article.md

Vous verrez le contenu de ce fichier, lors de cette révision:

Output# How To Use Git to Manage Your Writing Project

### Introduction

Version control isn't just for code. It's for anything you want to track, including content. Using Git to manage your next writing project gives you the ability to view multiple drafts at the same time,  see differences between those drafts, and even roll back to a previous version. And if you're comfortable doing so, you can then share your work with others on GitHub or other central git repositories.

In this tutorial you'll use Git to manage a small Markdown document. You'll store an initial version, commit it, make changes, view the difference between those changes, and review the previous version. When you're done, you'll have a workflow you can apply to your own writing projects.

Vous pouvez enregistrer cette sortie dans un fichier si vous en avez besoin pour autre chose:

git show 95fed84:./article.md > old_article.md

Au fur et à mesure que vous apportez plus de modifications, votre journal augmentera et vous pourrez passer en revue toutes les modifications que vous avez apportées à votre article au fil du temps.

Conclusion

Dans ce tutoriel, vous avez utilisé un référentiel Git local pour suivre les modifications apportées à votre projet d'écriture. Vous pouvez utiliser cette approche pour gérer des articles individuels, tous les articles de votre blog ou même votre prochain roman. Et si vous transférez votre référentiel vers GitHub, vous pouvez en inviter d'autres à vous aider à modifier votre travail.