Suggestion: make git checkout safer
- From
- Ed Avis <eda@waniasset.com>
- Date
- Jun 3, 2015, 08:50 UTC
- Message-ID
- <loom.20150603T104534-909@post.gmane.org>
Currently a plain 'git checkout .' will revert any local changes, e.g.
% mkdir test
% cd test
% git init
Initialized empty Git repository in /home/eda/test/.git/
% echo hello >foo
% git add foo
% git commit -m.
[master (root-commit) 34f6694] .
1 file changed, 1 insertion(+)
create mode 100644 foo
% echo goodbye >foo
% git checkout .
% cat foo
helloI suggest this is dangerous and by default 'git checkout' should only alter files which do not have local changes (as would be reported by 'git diff'). Only if --force is given should working tree differences be thrown away.
% git --version
git version 2.4.0-- Ed Avis <eda@waniasset.com>