From: Junio C Hamano Date: Mon, 15 May 2006 06:55:24 GMT Subject: Re: Simplify "git reset --hard" Message-ID: <7v1wuvwzdv.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Linus Torvalds writes: > 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 )