git.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sun, 29 Mar 2009 17:23:41 +0300
changeset 61 997e7523b171
child 62 4cda4557f554
permissions -rw-r--r--
About git.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
61
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
-*- outline -*-
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
* Setup git.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
** Debian.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
For Etch Degian release use git-core package from backports,
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
old 1.4 version of git very dumb compared to new version 1.5.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
  $ sudo apt-get install git-core
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
After install setup some options:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
  $ git config --global user.name "Oleksandr Gavenko"
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
  $ git config --global user.mail "gavenkoa@gmail.com"
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
  $ cat ~/.gitconfig
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
[user]
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
    name = Oleksandr Gavenko
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
    mail = gavenkoa@gmail.com
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
* Start your project.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
Setup proj space on fs.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
  $ mkdir proj
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
  $ cd proj
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
  $ git init
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
Initialized empty Git repository in /home/user/tmp/proj/.git/
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
  $ ls -a
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
. .. .git
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
Add file, make changes, commit all.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
  $ emacs Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
... C-x C-c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
  $ emacs app.c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
... C-x C-c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
  $ git add Makefile app.c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
  $ git status
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
# On branch master
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
# Initial commit
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
# Changes to be committed:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
#   (use "git rm --cached <file>..." to unstage)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
#       new file: Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
#       new file: app.c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
or just
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
  $ git add .
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
Commit newlly added file:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
  $ git commit
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
... Write message log ...
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
Created initial commit 2169263: My first commit massage.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
 1 files changed, 4 insertions(+), 0 deletions(-)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
 create mode 100644 app.c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
* Undo tracking added file.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
You do
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
  $ git add badfile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
  $ git status
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
# On branch master
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
# Changes to be committed:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
#   (use "git reset HEAD <file>..." to unstage)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
#       new file:   badfile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
To stop tracking badfile do
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
  $ git rm --cached badfile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
  $ git status
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
# On branch master
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
# Untracked files:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
#   (use "git add <file>..." to include in what will be committed)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
#       file
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
nothing added to commit but untracked files present (use "git add" to track)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
or
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
  $ git reset badfile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
* Doing changes.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
  $ printf "clean:\n<TAB>rm $(wildcard *.o)" >>Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
  $ git diff
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
diff --git a/Makefile b/Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
index e84f7e9..cd2438a 100644
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
--- a/Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    98
+++ b/Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
@@ -1,2 +1,5 @@
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
 all:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
        @echo XXX
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
        exit 1
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103
+
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
+clean:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
+       rm -f *.o
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   106
\ No newline at end of file
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107
  $ git add Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   108
  $ git commit -m "Added clean target."
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   109
Created commit 11272b9: Added clean target.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   110
 1 files changed, 1 insertions(+), 0 deletions(-)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   111
 create mode 100644 file
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   112
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   113
or just
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   114
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   115
  $ git commit -a -m "Added clean target."
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   116
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   117
* Using git to work with SVN offline.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   118
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   119
  $ sudo apt-get svn git-core git-svn
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   120
  $