Hi,
Under Windows XP, using git version 1.6.4.msysgit.0, I have tried:
E:\lucru\git\k>echo foo > file.txt
E:\lucru\git\k>echo bar >> file.txt
E:\lucru\git\k>git init
Initialized empty Git repository in E:/lucru/git/k/.git/
E:\lucru\git\k>git add .
warning: CRLF will be replaced by LF in file.txt.
E:\lucru\git\k>git commit -a
[master (root-commit) e969cd5] First commit
warning: CRLF will be replaced by LF in file.txt.
1 files changed, 2 insertions(+), 0 deletions(-)
create mode 100644 file.txt
E:\lucru\git\k>echo baz >> file.txt
E:\lucru\git\k>git commit -a
warning: CRLF will be replaced by LF in file.txt.
warning: CRLF will be replaced by LF in file.txt.
[master warning: CRLF will be replaced by LF in file.txt.
fabd2f2] Added baz to file.txt
1 files changed, 1 insertions(+), 0 deletions(-)
E:\lucru\git\k>type file.txt
foo
bar
baz
#Until here, everything's OK.
E:\lucru\git\k>git revert HEAD~
fatal: Cannot revert a root commit
#Does anyone know what does this mean? So I've tried with HEAD^ instead.
E:\lucru\git\k>git revert HEAD^
More?
More?
Finished one revert.
[master 1beba20] Revert "Added baz to file.txt"
1 files changed, 0 insertions(+), 1 deletions(-)
# What should I respond to the questions More?
#I've seen that no matter what I type, it adds to the "HEAD" and tells that
that commit can't be found, so I just pressed enter.
E:\lucru\git\k>git status
# On branch master
nothing to commit (working directory clean)
E:\lucru\git\k>git log --pretty=format:"%s %h"
WARNING: terminal is not fully functional
Revert "Added baz to file.txt" 1beba20
Added baz to file.txt fabd2f2
First commit e969cd5
(END)
#It seems that the revert commit was added successfully.
E:\lucru\git\k>type file.txt
foo
bar
#And it seems that not only the repository was changed, but the working
directory also. Is it correct?
#Well, now let's say I discovered that this new commit was an error and I
want to reset it.
#And I used HEAD^ because HEAD~ didn't work with revert.
E:\lucru\git\k>git reset HEAD^
More?
More?
E:\lucru\git\k>git log --pretty=format:"%s %h"
WARNING: terminal is not fully functional
Revert "Added baz to file.txt" 1beba20
Added baz to file.txt fabd2f2
First commit e969cd5
(END)
#Well, git reset didn't reset the latest commit.
#Does anyone know why or what I am doing wrong?
E:\lucru\git\k>git status
# On branch master
nothing to commit (working directory clean)
E:\lucru\git\k>git reset HEAD~
file.txt: locally modified
E:\lucru\git\k>git log --pretty=format:"%s %h"
WARNING: terminal is not fully functional
Added baz to file.txt fabd2f2
First commit e969cd5
(END)
#This time git reset resetted the latest HEAD.
#It seems that git reset wants the HEAD~ commit, while git revert wants the
HEAD^ commit. Do you know why (or can I find an explanation for this
somewhere)?
E:\lucru\git\k>type file.txt
foo
bar
#However, git reset modified just the repository and not the working
directory.
I added the line baz in the file file.txt, commited this change and then
reverted to the previous commit. This has also deleted the line "baz" from
the file.
Then I resetted the last commit (the revert), however the line "baz" didn't
appear in the file.
Is this something normal I should expect, or I am doing something wrong?
Thank you very much.
Octavian
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html