This is an old revision of the document!
$ mkdir Git $ cd Git $ git config --global user.name jehanproc $ git config --global user.email my.mail@int-evry.fr $ git config --global color.diff auto $ git config --global color.status auto $ git config --global color.branch auto $ git init Initialized empty Git repository in /mci/mci/login/Git/.git/ $ cat ~/.gitconfig [user] name = jehanproc email = my.mail@int-evry.fr [color] diff = auto status = auto branch = auto
$ git status # On branch master # # Initial commit # nothing to commit (create/copy files and use "git add" to track)
$ vim file1.txt $ git status # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # file1.txt nothing added to commit but untracked files present (use "git add" to track) $ git add file1.txt $ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: file1.txt
$ git commit -m "add initial file1.txt" [master (root-commit) b679adb] add initial file1.txt 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 file1.txt $ git status # On branch master nothing to commit (working directory clean)
$ vim file1.txt $ git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: file1.txt # no changes added to commit (use "git add" and/or "git commit -a")
$ git diff diff --git a/file1.txt b/file1.txt index ce01362..94954ab 100644 --- a/file1.txt +++ b/file1.txt @@ -1 +1,2 @@ hello +world
commit -a = commit de toutes les modifications .
$ git commit -a -m "modification de file1.txt -> +world" [master 9058851] modification de file1.txt -> +world 1 files changed, 1 insertions(+), 0 deletions(-) $ git status # On branch master nothing to commit (working directory clean)
$ git log commit 9058851ef6738163117ada54a94dbfc04365061c Author: jehanproc <my.email@int-evry.fr> Date: Tue Apr 9 10:01:05 2013 +0200 modification de file1.txt -> +world commit b679adb3b2e2fa5e30d1f52b2fa4f12cff888b66 Author: jehanproc <my.email@int-evry.fr> Date: Tue Apr 9 09:51:01 2013 +0200 add initial file1.txt
$ git reset --hard HEAD^ HEAD is now at b679adb add initial file1.txt $ cat file1.txt hello
par defaut, une seule branche *master*
$ git branch * master
creation d'un branche *option1* , ne modifie en rien les fichiers (pas de recopie)
$ git branch option1 $ git branch * master option1 $ ls -al total 52 -rw-r--r-- 1 login mci 6 9 avril 10:11 file1.txt drwxr-xr-x 8 login mci 4096 9 avril 10:11 .git
passage sur la branche option1 , git checkout est utilisé pour changer de branche mais aussi pour restaurer un fichier tel qu’il était lors du dernier commit. La commande a donc un double usage.
$ git checkout option1 Switched to branch 'option1' $ git branch master * option1 $ ls -al total 52 -rw-r--r-- 1 login mci 6 9 avril 10:11 file1.txt drwxr-xr-x 8 login mci 4096 9 avril 10:28 .git