Voir fichier à un commit :
git show HASH:path/to/file
Hash du commit initial :
git rev-list --max-parents=0 HEAD
Voir liste fichiers modifiés entre 2 commits :
git diff --name-only SHA1 SHA2
git log --name-status --oneline HEAD~6..HEAD
git log --name-status --oneline HEAD~6..HEAD |grep -vP '^\S[^\s]'|sort|uniq
Voir modif sur un fichier entre 2 commits :
git diff SHA1 SHA2 main.c
Trouver l'ancetre commun le plus vieux
git config --global alias.oldest-ancestor '!bash -c '\''diff -u <(git rev-list --first-parent "${1:-master}") <(git rev-list --first-parent "${2:-HEAD}") | sed -ne "s/^ //p" | head -1'\'' -'
git oldest-ancestor
git rebase -i [HASH parent]
man -7 gitrevisions
HEAD
HEAD~1 HEAD^ HEAD^1
HEAD~2 HEAD^2 HEAD~1^
HEAD~3
10:10 V /tmp/git_test [master L|V]
$ git lola
screen -R toto
C^a d : detach
C^a c : create
C^a A : rename
C^a " : liste
C^a p : switch to previous
C^a n : switch to next
C^a a : switch to last
C^a ESC : copy mode (pour scrollback)
Great interactive cheatsheet
Old mais je viens d'y repenser. Finalement je fais pareil, j'ai des mémo pour chaque commande dans un dossier de mon dropbox alors pourquoi pas essayer de les utiliser avec ça ? à tester. Dans tous les cas ça ne doit pas remplacer le man
Pour utiliser machinerebond pour accéder aux *.vm automatiquement :
$ cat .ssh/config
Host=machinerebond
Hostname=machinerebond.fqdn.com
User=root
Host=*.distant
User=root
ProxyCommand=ssh -W %h:22 machinerebond
Alternative :
D'abord se co sur la machine rebond avec un -A pour ramener sa key dans l'agent distant
Ensuite on peut se co sur les autres machines, mais plus long.
Autres directives possibles :
ServerAliveInterval 30
ServerAliveCountMax 120
Port 22000
User fooey
IdentityFile ~/.ssh/github.key
LocalForward 9906 127.0.0.1:3306
more : http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
$svndiffx .classpath
cat ~/bin/svndiffx
svn diff --diff-cmd "/home/amm/bin/svnvimdiff" $1
$cat /home/amm/bin/svnvimdiff
vim -d $6 $7