git.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 16 Nov 2009 22:46:43 +0200
changeset 230 438e70eaa36b
parent 64 921f4325779b
child 231 3b3680e6d481
permissions -rw-r--r--
Git on Windows.
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
230
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    21
** Windows.
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    22
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    23
No official support for Windows OS.
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    24
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    25
*** Cygwin.
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    26
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    27
*** MSys.
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    28
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    29
Native port.
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    30
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    31
  http://code.google.com/p/msysgit
438e70eaa36b Git on Windows.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 64
diff changeset
    32
61
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
* Start your project.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
Setup proj space on fs.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
  $ mkdir proj
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
  $ cd proj
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
  $ git init
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
Initialized empty Git repository in /home/user/tmp/proj/.git/
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
  $ ls -a
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
. .. .git
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
Add file, make changes, commit all.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
  $ emacs Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
... C-x C-c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
  $ emacs app.c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
... C-x C-c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
  $ git add Makefile app.c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
  $ git status
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
# On branch master
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
# Initial commit
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
# Changes to be committed:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
#   (use "git rm --cached <file>..." to unstage)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
#       new file: Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
#       new file: app.c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
or just
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
  $ git add .
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
Commit newlly added file:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
  $ git commit
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
... Write message log ...
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
Created initial commit 2169263: My first commit massage.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
 1 files changed, 4 insertions(+), 0 deletions(-)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
 create mode 100644 app.c
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
* Undo tracking added file.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
You do
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
  $ git add badfile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
  $ git status
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
# On branch master
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
# Changes to be committed:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
#   (use "git reset HEAD <file>..." to unstage)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
#       new file:   badfile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
To stop tracking badfile do
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
  $ git rm --cached badfile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
  $ git status
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
# On branch master
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
# Untracked files:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
#   (use "git add <file>..." to include in what will be committed)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
#
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
#       file
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
nothing added to commit but untracked files present (use "git add" to track)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    98
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
or
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
  $ git reset badfile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103
* Doing changes.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
  $ printf "clean:\n<TAB>rm $(wildcard *.o)" >>Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   106
  $ git diff
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107
diff --git a/Makefile b/Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   108
index e84f7e9..cd2438a 100644
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   109
--- a/Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   110
+++ b/Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   111
@@ -1,2 +1,5 @@
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   112
 all:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   113
        @echo XXX
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   114
        exit 1
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   115
+
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   116
+clean:
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   117
+       rm -f *.o
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   118
\ No newline at end of file
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   119
  $ git add Makefile
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   120
  $ git commit -m "Added clean target."
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
Created commit 11272b9: Added clean target.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   122
 1 files changed, 1 insertions(+), 0 deletions(-)
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   123
 create mode 100644 file
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   124
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   125
or just
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   126
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   127
  $ git commit -a -m "Added clean target."
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   128
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   129
* Using git to work with SVN offline.
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   130
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   131
Prepare SVN and git utilities:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   132
61
997e7523b171 About git.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   133
  $ sudo apt-get svn git-core git-svn
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   134
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   135
Making SVN repo
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   136
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   137
  $ cd $HOME/tmp
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   138
  $ svnadmin create svn-repo
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   139
  $ svn co file://$HOME/tmp/svn-repo svn-devel
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   140
  $ cd svn-devel
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   141
  $ mkdir tags trunk branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   142
  $ svn add *
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
A         trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   146
  $ cd trunk/
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   147
  $ printf "all:\n  echo XXX\n" >Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   148
  $ printf "int main() {return 0;}" >main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   149
  $ svn add *
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   150
  $ cd ..
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   151
  $ svn st
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   152
A      trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   153
A      trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   154
A      trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   155
A      branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   156
A      tags
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   157
  $ svn ci -m init
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   158
Adding         branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   159
Adding         tags
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   160
Adding         trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   161
Adding         trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   162
Adding         trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   163
Transmitting file data ..
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   164
  $ 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
   165
  $ 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
   166
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   167
Moving SVN changset to git repo
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   168
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   169
  $ cd $HOME/tmp
63
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   170
  $ git svn init file://$HOME/tmp/svn git-repo
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   171
  $ ls -a
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   172
.  ..  .git
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   173
  $ git svn fetch
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   174
    A   trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   175
    A   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   176
W: +empty_dir: branches
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   177
W: +empty_dir: tags
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   178
r1 = 52ccd9882979dd53ec198dbac108783ec660410f (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   179
    A   tags/v0.0/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   180
    A   tags/v0.0/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   181
r2 = 8ec8a772bb6f37ace56b3649066dc84e481ed427 (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   182
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   183
r3 = 2c169ff409ed504dd6a092b1e302beb3fd94871e (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   184
    A   branches/v0.1/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   185
    A   branches/v0.1/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   186
r4 = e68d76f4ba6beea4b9059c1884c1f38ce10831a7 (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   187
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   188
r5 = cdde63974454b13ac53f2eeb201aa76c49fd875c (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   189
Checked out HEAD:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   190
  file:///home/sasha/tmp/svn r5
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   191
63
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   192
or (in old git version):
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   193
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   194
  $ git svn clone file://$HOME/tmp/svn git-repo
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 62
diff changeset
   195
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   196
Making changes in svn:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   197
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   198
  $ cd $HOME/tmp/svn-devel/trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   199
  $ echo ".PHONY: clean" >>Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   200
  $ svn ci -m "Added clean to phony."
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   201
Sending        trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   202
Transmitting file data .
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   203
Committed revision 6.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   204
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   205
Making committed in git:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   206
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   207
  $ cd $HOME/tmp/git-repo/trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   208
  $ echo ".PHONY: all" >>Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   209
  $ echo "int foo(int x) {return x+x;}" >>main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   210
  $ git status
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   211
# On branch master
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   212
# Changed but not updated:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   213
#   (use "git add <file>..." to update what will be committed)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   214
#
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   215
#       modified:   Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   216
#       modified:   main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   217
#
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   218
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
   219
  $ git commit -a -m "Bug fixed."
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   220
Created commit 222d399: Bug fixed.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   221
 2 files changed, 2 insertions(+), 0 deletions(-)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   222
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   223
Getting changes from SVN to git:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   224
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   225
  $ git svn rebase
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   226
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   227
r6 = 8165e9bfb38e9df09a7313d19606ec227629b670 (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   228
First, rewinding head to replay your work on top of it...
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   229
Applying Bug fixed.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   230
error: patch failed: trunk/Makefile:6
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   231
error: trunk/Makefile: patch does not apply
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   232
Using index info to reconstruct a base tree...
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   233
Falling back to patching base and 3-way merge...
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   234
Auto-merged trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   235
CONFLICT (content): Merge conflict in trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   236
Failed to merge in the changes.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   237
Patch failed at 0001.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   238
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   239
When you have resolved this problem run "git rebase --continue".
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   240
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
   241
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
   242
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   243
rebase refs/remotes/git-svn: command returned error: 1
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   244
  $ git add Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   245
  $ git rebase --continue
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   246
Applying Bug fixed.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   247
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   248
and return all from git to SVN:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   249
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   250
  $ git svn dcommit
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   251
Committing to file:///home/sasha/tmp/svn ...
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   252
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   253
    M   trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   254
Committed r7
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   255
    M   trunk/main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   256
    M   trunk/Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   257
r7 = 68e782c8d06635f2db4dd69b9ca8599f99da22e2 (git-svn)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   258
No changes between current HEAD and refs/remotes/git-svn
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   259
Resetting to the latest refs/remotes/git-svn
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
See what going to SVN repo:
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   262
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   263
  $ cd $HOME/tmp/svn-devel/trunk
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   264
  $ svn diff -r BASE:HEAD
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   265
Index: Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   266
===================================================================
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   267
--- Makefile    (working copy)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   268
+++ Makefile    (revision 7)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   269
@@ -6,4 +6,4 @@
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   270
 .o: .c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   271
    $(CC) $(CFLAGS) -c -o $@ $<
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   272
 
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   273
-.PHONY: clean
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   274
+.PHONY: all clean
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   275
Index: main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   276
===================================================================
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   277
--- main.c  (working copy)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   278
+++ main.c  (revision 7)
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   279
@@ -2,3 +2,4 @@
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   280
 {
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   281
     return 0;
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   282
 }
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   283
+int foo(int x) {return x+x;}
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   284
  $ svn up
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   285
U    Makefile
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   286
U    main.c
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   287
Updated to revision 7.
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   288
64
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   289
* gitk
62
4cda4557f554 git SVN tutorial.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 61
diff changeset
   290
64
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   291
gitk - The git repository browser
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   292
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   293
Installing:
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   294
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   295
  $ sudo apt-get instal gitk
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   296
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   297
Using:
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   298
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   299
  $ cd /path/to/git-repo
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   300
  $ gitk
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   301
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   302
See
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   303
921f4325779b add gitk
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   304
  gitk(1)