Ressources

Fichier de configuration .gitconfig

Ce fichier permet de paramétrer git, notamment pour préciser les variables d’environnement et les alias de commandes. Voir l’exemple.

Fichier de configuration .gitignore

Ce fichier permet de préciser les fichiers qui doivent être ignorés par Git. Pour ce faire, il doit être mentionné dans le .gitconfig comme suit :

[core]
	excludesfile = /home/<username>/.gitignore

Voici un exemple de fichier :

_build*
_inst*
*.o
*~
Thumbs.db

Script d’ajout d’identité

Ce script a pour but de ne plus avoir à saisir le mot de passe de sa clé privé à chaque connexion. /!\ L’utilisation de ce script nuit à votre sécurité.

Voici le fichier :

var=`ssh-agent -s`
eval "$var"
ssh-add ~/.ssh/id_dsa ~/.ssh/id_rsa
unset var

Pour l’utiliser, il faut le sourcer comme suit ou l’intégrer à votre .bashrc :

. ~/.ssh-add-identity

Useful commands

Keeping A GitHub Fork Updated

git remote add upstream git@github.com:<USER>/<REPO>.git
git fetch upstream
git rebase upstream/master

Change log information

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='Newname'; GIT_AUTHOR_EMAIL='newemail'; GIT_COMMITTER_NAME='Newname'; GIT_COMMITTER_EMAIL='newemail';" HEAD

Récupérer les modifications présentes sur le serveur

git fetch
git rebase origin/<Nom de la branche par rapport à qui se mettre à jour>
#exemple :
git rebase origin/master

Créer une branche sur un serveur (remote)

git push origin master:refs/heads/testing
git cob testing
echo chiche_branch > test
git ci -a -m 'Chiche test'
git push origin testing

Merger 2 branches

git br crazy_idea
git br
   experimental
   crazy_idea
 * master
git co crazy_idea
# merge experimental dans crazy_idea
git merge experimental
git commit -a

Supprimer une branche locale

Cette commande s’assure que les changement de la branche ‘experimental’ se trouve dans la branche courante.

git branch -d experimental

Si vous développez une idée folle, puis le regrettez, vous pouvez toujours effacer cette branche avec -D

git branch -D crazy_idea

Supprimer une branche distante

git push origin :testing