Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
logiciel:programmation:git:start1 [2021/05/10 17:15] – [git reset] adminlogiciel:programmation:git:start [2022/08/13 21:57] (Version actuelle) – modification externe 127.0.0.1
Ligne 429: Ligne 429:
 Cette opération peut prendre du temps0 Une fois terminé, on a gagné de l'espace disque. (gc = garbage collection). Cette opération peut prendre du temps0 Une fois terminé, on a gagné de l'espace disque. (gc = garbage collection).
  
 +=== Extra 1 : .gitignore, Ignorer certains fichiers ===
 +
 +Tous les fichiers du dossier de projet ne doivent pas être suivis par git. Par exemple : les fichiers objets, les fichiers d'échange, etc
 +
 +Créer un fichier nommé ‘.gitignore‘ dans le dossier de base du dépôt git et y inscrire le nom des fichiers comme expliqué ci-dessous, pour que git les ignore.
 +
 +== Les jokers simples sont reconnus ==
 +
 +Les jokers ‘*‘ and ‘?‘ et les expressions régulières entre crochets `[ ]‘ sont reconnues.
 +
 +Par exemple, pour ignorer tous les fichiers dont l’extension se termine par 'bak', on peut spécifier ceci dans le fichier .gitignore
 +
 +  *.bak
 +
 +Si cette ligne est présente le fichier .gitignore, Git ignorera tous les fichiers se terminant par <<.bak>> n'importe où dans les dossiers du projet.
 +
 +- Pour ignorer un fichier ou un dossier particulier
 +
 +On utilise la notation de chemin absolu.
 +
 +Supposons la structure de répertoires suivante pour le projet, où <<Project>> étant est le répertoire de base du référentiel du projet.
 +<code>Project
 +    |-- .gitignore
 +    |
 +    |-- .git
 +    |
 +    +-- Folder_1
 +    |
 +    +-- Folder_2
 +    |       |
 +    |       --- Folder_3
 +    |
 +    -- Folder_4
 +            |
 +            +--- File_1
 +            +--- File_2
 +            +--- File_3
 +</code>
 +
 +Supposons que l'on veuille ignorer le dossier <<Folder_3>> : mettre la ligne suivante dans le fichier .gitignore :
 +
 +  /folder_2/folder_3/
 +
 +Notez le slash au début et à la fin.
 +
 +  * Si on supprime le slash précédent, git va ignorer tous les dossiers nommés <<folder_3>> à l'intérieur de n'importe quel dossier nommé folder_2.
 +  * Si on supprime le slash à la fin, git traitera le nom <<folder_3>> comme un nom de fichier au lieu d'un nom de dossier. Dans ce cas, si nous avions un fichier nommé <<folder_3>> à l'intérieur de folder_2, il serait ignoré.
 +
 +Maintenant, pour ignorer les fichiers  File_2 du diagramme ci-dessus, placer ce qui suit dans le fichier .gitignore :
 +
 +  /folder_4/file_2
 +
 +Noter qu'il n'y a pas de slash à la fin, si nous l'avions fait, git traiterait <<file_2>> comme un nom de dossier.
 +
 +Voici donc les règles :
 +
 +  * Les chemins absolus commencent par un slash ‘/’.
 +  * Les noms de dossiers doivent toujours être suffixé par un slash ‘/’.
 +  * Les noms de fichiers ne doivent JAMAIS être suffixés par un slash ‘/’.
 +
 +L'exemple ci-dessous montre l'utilisation de crochets. Ils fonctionnent très bien, comme notation des expressions régulières.
 +An example .gitignore file.
 +
 +<file|Un exemple de fichier .gitignore>
 +# git ignore file
 +# comments start with hash
 +
 +# ignore all object files, all
 +# files ending either with '.o' or '.a'
 +*.[oa]
 +
 +# Ignore all files with
 +# the extension *.swp
 +*.swp
 +
 +# Ignore a single file
 +/folderA/folderB/build.info
 +
 +# Ignore a folder named
 +# temporary in the base folder.
 +/temporary/
 +
 +# Ignore folders named _object
 +#  anywhere inside the project.
 +_object/
 +</file>
 +
 +== A quoi sert .gitignore ? ==
 +
 +Regardons un scénario typique de codage.
 +
 +On a un projet, on a ajouté tous les fichiers sur le dépôt .git et fait un commit initial. Maintenant, on édite quelques fichiers, l'éditeur crée des fichiers de sauvegarde se terminant par l'extension <<.bak>>.
 +
 +Si maintenant on fait un git-status pour vérifier les fichiers modifiés, git signale quels fichiers ont été modifiés, mais signale aussi les fichiers ‘.bak’ comme non suivis.
 +
 +Après quelques jours, la liste des fichiers non suivis s'allonge; ce qui fait que le git-status sort de l'écran.
 +
 +De même, on ne peut donc pas faire de ‘git add .’ pour signaler les fichiers à commiter, car cette commande va ajouter des fichiers ‘.bak’ à committer, encombrant inutilement le dépôt.
 +
 +La solution : créer un fichier .gitignore dans le répertoire de base du projet avec une ligne contenant <<*. bak>>.
 +
 +=== Extra 2 : Ajouter quelques couleurs et se présenter à git ===
 +
 +== Votre nom et votre adresse email dans les commits ==
 +
 +Editer le fichier .git/config dans le dossier de base (le dossier du projet) et entrer les lignes suivantes.
 +
 +<file>
 +[user]
 +    name = Your Name
 +    email = your email Id
 +</file>
 +
 +par exemple :
 +
 +<file>
 +[user]
 +    name = xk0der
 +    email = amit@xkoder.com
 +</file>
 +
 +Une fois placés ces détails dans le dossier, au prochain commit, le nom et l'email sera enregistré comme ceux de l'auteur de ce commit.
 +
 +== Coloriser la sortie de git ==
 +
 +Un petit post de Gary explique comment faire : [[http://scie.nti.st/2007/5/2/colors-in-git]]
 ===== Désinstallation ===== ===== Désinstallation =====