Dlareg Blog

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, octobre 27 2011

git enlever un fichier ajouté avant un commit

Un jour j'ai ajouté un fichier avec la commande git add nom_du_fichier mais je veux finalement le retirer du prochain commit :

$ git reset HEAD -- fichier_a_supprimer_du_prochain_commit

http://www.siteduzero.com/tutoriel-3-254198-gerez-vos-codes-source-avec-git.html

samedi, septembre 24 2011

Mon .gitignore ne fonctionne pas

Il arrive que le .gitignore soit ignoré ... erf , pour régler le problème, il faut nettoyer le cache du git.

$ git rm -r --cached .

Ensuite il faut bien sûr ajouter les nouveaux fichiers puis commiter.

http://blog.axestech.net/2011/07/18/git-activer-le-fichier-gitignore/

vendredi, juin 17 2011

Ne pas préciser le numéro de port pour se connecter en SSH

Si vous avez décidez de changer le numéro de port de votre serveur SSH pour éviter les script kiddies vous pouvez vous connecter sur votre machine en précisant le numéro de port, par exemple :

$ ssh -p 999 maMachine

Pour vous simplifier la vie vous avez plusieurs possibilités :

  • faire un alias
$ echo "alias sshMaMachine='ssh -p 999 maMachine'" >> ~/.bash_alias
$ source ~/.bashrc

Vous pouvez vous connecter par la commande :

$ sshMaMachine
  • faire ~/.ssh/config qui va retenir le port pour un host donné (indispensable pour faire du git over SSH avec un port différent de 22)
$ vim ~/.ssh/config

Host maMachine
Post 999

Vous pouvez vous connecter par la commande :

$ ssh maMachine

Bonne utilisation

samedi, septembre 18 2010

Installer son propre dépôt Git sous Mandriva 2010.1

Pré-requis

Avoir un serveur SSH fonctionnel.
Avoir git d'installer sur la machine chez moi ça donne ça :

$ rpm -qa | grep git
git-prompt-1.7.1-1mdv2010.1
git-cvs-1.7.1-1mdv2010.1
git-email-1.7.1-1mdv2010.1
git-arch-1.7.1-1mdv2010.1
gitk-1.7.1-1mdv2010.1
git-core-oldies-1.7.1-1mdv2010.1
git-1.7.1-1mdv2010.1
git-svn-1.7.1-1mdv2010.1
git-core-1.7.1-1mdv2010.1

Téléchargement

$ cd ~
$ mkdir dev
$ cd dev
$ git clone git://eagain.net/gitosis.git

Installation

Pour procéder à l'installation il vous faut le paquetage python-setuptools

# urpmi python-setuptools

Chez moi ça donne ça

$ rpm -qa | grep python | grep setuptools
python-setuptools-0.6c11-1mdv2010.1

Il y a un bug qui ne permet pas d'aller au bout de l'installation de gitosis, pour y remédier :

# export PYTHONDONTWRITEBYTECODE=

http://lists.mandriva.com/bugs/2010-05/msg02799.php
http://bitbucket.org/tarek/distribute/issue/168/easy_install-fails-with-byte-compiling

Installons pour de bon :

$ cd ~/dev/gitosis
# python setup.py install

Configuration de gitosis

Création d'un utilisateur git :

# groupadd git
# useradd -g git -d /home/git -s /bin/bash -m git

Avez-vous une clé public SSH ?

si non sous votre utilisateur :

$ ssh-keygen -t rsa

Le résultat se trouve dans /home/votre_utilisateur/.ssh/
Vous avez un fichier id_rsa.pub alors vous avez maintenant une clé public SSH.

si oui :

$ cp /home/votre_utilisateur/.ssh/id_rsa.pub /tmp/cle.pub

Hop en root :

# sudo -H -u git gitosis-init < /tmp/cle.pub

Vous devez obtenir le résultat suivant en cas de réussite :

Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

A ce stade vous devez avoir un tas de fichier dans /home/git/repositories/gitosis-admin.git/

# ll /home/git/repositories/gitosis-admin.git/

On peut supprimer sur le serveur le répertoire d'installation contenant le clone du dépôt de gitosis :

# rm -rf /home/votre_utilisateur/dev/gitosis

On va suivre le conseil de toki pona et on va changer les droits sur le fichier /home/git/repositories/gitosis-admin.git/hooks/post-update

# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

L'installation est terminée.

Se connecter, cloner et configurer le serveur pour d'autres utilisateurs

Sur la machine cliente vous pouvez maintenant cloner le dépôt qui est sur votre serveur :

$ git clone git@[adresse du serveur]:gitosis-admin.git

Tapez votre pass phrase, le dépôt est cloné.

$ cd gitosis-admin.git

Il y un fichier gitosis.conf et un répertoire keydir dans votre dépôt.
Le fichier contient vos dépôts et les utilisateurs autorisés à se connecter.
Le répertoire contient les clés publics de vos utilisateurs autorisés.

Pour ajouter un utilisateur et un dépôt je vous invite à lire la démarche sur l'article de toki pona :
http://www.siteduzero.com/tutoriel-3-187504-heberger-des-depots-git-avec-gitosis.html#ss_part_4

Vous éditez à votre convenance et poussez les modifications sur le serveur :

$ git commit -a -m "Ajout de l'utilisateur [toto]"
$ git push

Liens utiles

http://www.siteduzero.com/tutoriel-3-187504-heberger-des-depots-git-avec-gitosis.html