git.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 15 Apr 2009 00:21:55 +0300
changeset 80 053196efbed2
parent 64 921f4325779b
child 230 438e70eaa36b
permissions -rw-r--r--
Automated merge with file:///srv/hg/admin-doc
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
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   119
Prepare SVN and git utilities:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   120
61
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
  $ sudo apt-get svn git-core git-svn
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   122
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   123
Making SVN repo
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   124
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   125
  $ cd $HOME/tmp
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   126
  $ svnadmin create svn-repo
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   127
  $ svn co file://$HOME/tmp/svn-repo svn-devel
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   128
  $ cd svn-devel
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   129
  $ mkdir tags trunk branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   130
  $ svn add *
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   131
A         branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   132
A         tags
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   133
A         trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   134
  $ cd trunk/
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   135
  $ printf "all:\n  echo XXX\n" >Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   136
  $ printf "int main() {return 0;}" >main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   137
  $ svn add *
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   138
  $ cd ..
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   139
  $ svn st
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   140
A      trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   141
A      trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   142
A      trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   143
A      branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   144
A      tags
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   145
  $ svn ci -m init
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   146
Adding         branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   147
Adding         tags
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   148
Adding         trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   149
Adding         trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   150
Adding         trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   151
Transmitting file data ..
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   152
  $ svn cp -m v0.0 file://$HOME/tmp/svn/trunk file://$HOME/tmp/svn/tags/v0.0
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   153
  $ svn cp -m v0.1 file://$HOME/tmp/svn/trunk file://$HOME/tmp/svn/branches/v0.1
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   154
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   155
Moving SVN changset to git repo
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   156
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   157
  $ cd $HOME/tmp
63
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   158
  $ git svn init file://$HOME/tmp/svn git-repo
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   159
  $ ls -a
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   160
.  ..  .git
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   161
  $ git svn fetch
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   162
    A   trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   163
    A   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   164
W: +empty_dir: branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   165
W: +empty_dir: tags
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   166
r1 = 52ccd9882979dd53ec198dbac108783ec660410f (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   167
    A   tags/v0.0/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   168
    A   tags/v0.0/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   169
r2 = 8ec8a772bb6f37ace56b3649066dc84e481ed427 (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   170
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   171
r3 = 2c169ff409ed504dd6a092b1e302beb3fd94871e (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   172
    A   branches/v0.1/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   173
    A   branches/v0.1/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   174
r4 = e68d76f4ba6beea4b9059c1884c1f38ce10831a7 (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   175
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   176
r5 = cdde63974454b13ac53f2eeb201aa76c49fd875c (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   177
Checked out HEAD:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   178
  file:///home/sasha/tmp/svn r5
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   179
63
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   180
or (in old git version):
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   181
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   182
  $ git svn clone file://$HOME/tmp/svn git-repo
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   183
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   184
Making changes in svn:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   185
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   186
  $ cd $HOME/tmp/svn-devel/trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   187
  $ echo ".PHONY: clean" >>Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   188
  $ svn ci -m "Added clean to phony."
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   189
Sending        trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   190
Transmitting file data .
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   191
Committed revision 6.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   192
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   193
Making committed in git:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   194
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   195
  $ cd $HOME/tmp/git-repo/trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   196
  $ echo ".PHONY: all" >>Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   197
  $ echo "int foo(int x) {return x+x;}" >>main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   198
  $ git status
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   199
# On branch master
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   200
# Changed but not updated:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   201
#   (use "git add <file>..." to update what will be committed)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   202
#
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   203
#       modified:   Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   204
#       modified:   main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   205
#
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   206
no changes added to commit (use "git add" and/or "git commit -a")
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   207
  $ git commit -a -m "Bug fixed."
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   208
Created commit 222d399: Bug fixed.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   209
 2 files changed, 2 insertions(+), 0 deletions(-)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   210
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   211
Getting changes from SVN to git:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   212
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   213
  $ git svn rebase
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   214
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   215
r6 = 8165e9bfb38e9df09a7313d19606ec227629b670 (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   216
First, rewinding head to replay your work on top of it...
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   217
Applying Bug fixed.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   218
error: patch failed: trunk/Makefile:6
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   219
error: trunk/Makefile: patch does not apply
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   220
Using index info to reconstruct a base tree...
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   221
Falling back to patching base and 3-way merge...
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   222
Auto-merged trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   223
CONFLICT (content): Merge conflict in trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   224
Failed to merge in the changes.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   225
Patch failed at 0001.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   226
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   227
When you have resolved this problem run "git rebase --continue".
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   228
If you would prefer to skip this patch, instead run "git rebase --skip".
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   229
To restore the original branch and stop rebasing run "git rebase --abort".
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   230
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   231
rebase refs/remotes/git-svn: command returned error: 1
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   232
  $ git add Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   233
  $ git rebase --continue
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   234
Applying Bug fixed.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   235
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   236
and return all from git to SVN:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   237
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   238
  $ git svn dcommit
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   239
Committing to file:///home/sasha/tmp/svn ...
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   240
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   241
    M   trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   242
Committed r7
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   243
    M   trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   244
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   245
r7 = 68e782c8d06635f2db4dd69b9ca8599f99da22e2 (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   246
No changes between current HEAD and refs/remotes/git-svn
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   247
Resetting to the latest refs/remotes/git-svn
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   248
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   249
See what going to SVN repo:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   250
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   251
  $ cd $HOME/tmp/svn-devel/trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   252
  $ svn diff -r BASE:HEAD
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   253
Index: Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   254
===================================================================
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   255
--- Makefile    (working copy)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   256
+++ Makefile    (revision 7)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   257
@@ -6,4 +6,4 @@
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   258
 .o: .c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   259
    $(CC) $(CFLAGS) -c -o $@ $<
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   260
 
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   261
-.PHONY: clean
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   262
+.PHONY: all clean
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   263
Index: main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   264
===================================================================
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   265
--- main.c  (working copy)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   266
+++ main.c  (revision 7)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   267
@@ -2,3 +2,4 @@
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   268
 {
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   269
     return 0;
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   270
 }
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   271
+int foo(int x) {return x+x;}
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   272
  $ svn up
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   273
U    Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   274
U    main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   275
Updated to revision 7.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   276
64
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   277
* gitk
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   278
64
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   279
gitk - The git repository browser
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   280
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   281
Installing:
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   282
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   283
  $ sudo apt-get instal gitk
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   284
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   285
Using:
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   286
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   287
  $ cd /path/to/git-repo
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   288
  $ gitk
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   289
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   290
See
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   291
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   292
  gitk(1)