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