Re: Simplify "git reset --hard"
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 15, 2006, 06:55 UTC
- Message-ID
- <7v1wuvwzdv.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.64.0605141110150.3866@g5.osdl.org>
Linus Torvalds <torvalds@osdl.org> writes:
Show 6 quoted lines
> Now that the one-way merge strategy does the right thing wrt files that do > not exist in the result, just remove all the random crud we did in "git > reset" to do this all by hand. > > Instead, just pass in "-u" to git-read-tree when we do a hard reset, and > depend on git-read-tree to update the working tree appropriately.
Well, this is wrong. Local modifications remain after your version of "git-reset --hard HEAD". which is not what we want from a hard reset.
-- >8 --
diff --git a/git-reset.sh b/git-reset.sh index 0ee3e3e..ecc111b 100755 --- a/git-reset.sh +++ b/git-reset.sh @@ -52,7 +52,7 @@ git-update-ref HEAD "$rev" case "$reset_type" in --hard ) - ;; # Nothing else to do + git-checkout-index -f -q -u -a ;; --soft ) ;; # Nothing else to do --mixed )