rss
twitter
  • Showcase
  • Carrières
  • Support
  • GitLab
  • Espace client
  • Contact

Commandes utiles pour GIT

0

INDEX

Exporter le log de toutes les mises à jour dans un fichier CSV :

git log --since='last year' --pretty=format:'"%h","%an","%ar","%s"' > log.csv

Les fichiers .gitignore

Le fichier .gitignore placé à la racine de l’arbre de travail permet à git d’exclure certains documents ou répertoires.

Un fichier minimaliste :

.DS_Store
nbproject
htaccess.txt
htpasswd.txt
thumbs.db

Cependant dans le cadre du développement d’un site, vous pouvez être amené à créer des dossiers d’upload sur le serveur. Vous voulez committer l’existence de ces dossiers, mais pas leur contenu (des fichiers uploadés en test).

De même peut-être que votre environnement nécessite des répertoires de travail. Par exemple, chez Italic notre version customisée de [Kohana->https://www.italic.fr/php/article/trucs-utiles-pour-le-framework] requiert un dossier cache_kohana et logs_kohana ; de plus notre server de staging est configuré pour ajouter automatiquement un dossier logs à la racine de chaque vhost.

Le problème vient du fait que git traque des fichiers et non des dossiers. Donc en mettant, par exemple, dans le .gitignore…

cache_kohana/*
logs_kohana/*
logs_kohana/*
uploads/*

…on va bien évidemment exclure les fichiers. Problème : on va aussi exclure la création des répertoires, puisqu’il n’y a pas de fichier dedans => git les ignore aussi !

Donc au prochain clone, il faudra recréer ces répertoires manquants à la main…

L’astuce : créer un fichier .gitignore spécial dans chaque dossier à conserver par exemple :
cache_kohana/.gitignore :

*
!.gitignore

Ce fichier indique à git de tout ignore, sauf le .gitignore lui-même.

De la sorte, votre arborescence sera conservée à chaque clone.

Une variante : créer un fichier .gitkeep spécial dans chaque dossier à conserver. Le fichier peut être vide.

Pour créer un nouveau repository

ssh USER@SERVER
mkdir REPO
cd REPO
git --bare init

Pour pousser des fichiers dans le repository

ssh://USER@SERVER/home/USER/REPO

Pour cloner le repository

git clone ssh://USER@SERVER/home/USER/REPO

Pour télécharger un ZIP de la dernière version du master

git archive --format zip --output latest.zip --remote=ssh://USER@SERVER/home/git/REPO master

Pour créer un changelog

git log > changelog.txt
DATE 24 Fév 2012
by : Germain
Author / Auteur

Social Share / Partager

    Leave a Reply / Répondre Annuler la réponse

    *
    *

    More in Sysadmin : Linux, Apache, GIT

    • Recevoir un mail lors de la connexion root à un serveur
    • Maildev : tester l'envoi de mails durant ses développements
    • Quel php.ini (MAMP ou Linux), quelle valeur de phpinfo() ?
    • Pense-bête Apache Server-Side Includes (SSI)
    • Ubuntu 14 chroot sftp et rsync

    Search the blog

    Blog categories

    • Front-end : HTML, CSS (13)
    • Workflow (1)
    • Front-end : javascript, jQuery (33)
    • Back-end : PHP, CMS (42)
    • Back-end : SQL, MySQL (20)
    • Sysadmin : Linux, Apache, GIT (75)
    • Designers : tools, advice (2)
    • Desktop : OS X (37)
    • Desktop : Microsoft (12)
    • Uncategorized (8)

    ITALIC™ Resources

    • Paramètres de connexion au serveur mail
    • Graphistes : séduire un développeur web
    • Dév front : nos bonnes pratiques
    • Mailing : nos (bonnes ?) pratiques
    • Environnement de travail Mac

    Recent posts

    • Autoriser le chargement de contenus mixtes non-https dans Chrome (Mac)
    • Afficher les logs MySQL
    • Recevoir un mail lors de la connexion root à un serveur
    • Changer l’interclassement de plusieurs tables MySQL à la fois (ou presque
    • Maildev : tester l’envoi de mails durant ses développements
    © 2008-2017 ITALIC™ • 8 bis rue Abel • 75012 PARIS • Tel +33 (0)1 48 44 46 35 • RCS PARIS 508 228 772 • Powered by WordPress & GoodLayers
    Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web.
    Cookie settingsACCEPTER
    Manage consent

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
    Necessary
    Toujours activé
    Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
    Non-necessary
    Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
    Enregistrer & appliquer