Re: how to revert changes in working tree?
From: Liu Yubao <hidden>
Date: 2016-08-11 20:01:28
Alex Riesen wrote:
On 12/6/06, Liu Yubao [off-list ref] wrote:quoted
Alex Riesen wrote:quoted
On 12/6/06, Liu Yubao [off-list ref] wrote:quoted
I'm confused how to revert changes in working tree: $ git fetch $ git merge "sync with origin" HEAD origin ....conflict....You may want to consider git pull. It'd do exactly the sameIt's said somewhere "git pull" has strange behaviour and fetch+pull is recommended.So why do you use fetch+merge?
Oh, another mistake, I have heard fetch+merge is recommended.
so, you just have an unresolved merge. It was discussed on this mailing list very recently (and actually is being discussed), so just look at the archives.
Thanks, I will dig it.
quoted
quoted
They problem is the exec-bit which windows does not have and cygwin failed to correctly workaround the limitation. Do a "git repo-config core.filemode false" to almost disable the checks for exec bit.It has been set. I guess the cause is a interrupted merge operation that leads to textual difference.yes, though what I can't understand is why don't you have unmerged entries... Maybe it comes from playing with all these commands you mentioned in the original mail.quoted
After run "git reset --hard", all deleted files come back, but I reach the old state: $ git statusWhen? Immediately after git reset --hard? Then you very likely have no permission to write (or lost it somehow) into the working directory, otherwise I don't see could this be possible. git reset --hard rewrites everything.
Yes, immediately after git reset --hard. I'm sure I have write permission because all deleted files come back and no "permission denied" like message appears. I will try to run git in debugger, wish I can get the reason.
quoted
HEAD: commit 088406bcf66d6c7fd8a5c04c00aa410ae9077403 master: commit 088406bcf66d6c7fd8a5c04c00aa410ae9077403 origin: commit ff51a98799931256b555446b2f5675db08de6229 "git diff --cached" shows nothing;which is correct.quoted
"git diff" shows many diffs:and this is not. You do have changes, which could not be reset. I fail to see why. Are you sure you haven't accidentally repeated the merge after doing git reset --hard? And what was _exactly_ git merge told you, when it failed?
I didn't run "git merge" after "git reset --hard" indeed. To get the message from "git merge", now I run it like this: $ git merge "sync from origin" HEAD origin Updating 088406b..ff51a98 include/linux/netfilter/xt_CONNMARK.h: needs update include/linux/netfilter/xt_DSCP.h: needs update include/linux/netfilter/xt_MARK.h: needs update include/linux/netfilter_ipv4/ipt_CONNMARK.h: needs update include/linux/netfilter_ipv4/ipt_DSCP.h: needs update include/linux/netfilter_ipv4/ipt_ECN.h: needs update include/linux/netfilter_ipv4/ipt_MARK.h: needs update include/linux/netfilter_ipv4/ipt_TCPMSS.h: needs update include/linux/netfilter_ipv4/ipt_TOS.h: needs update include/linux/netfilter_ipv4/ipt_TTL.h: needs update include/linux/netfilter_ipv6/ip6t_HL.h: needs update include/linux/netfilter_ipv6/ip6t_MARK.h: needs update net/ipv4/netfilter/ipt_ECN.c: needs update net/ipv4/netfilter/ipt_TOS.c: needs update net/ipv4/netfilter/ipt_TTL.c: needs update net/ipv6/netfilter/ip6t_HL.c: needs update net/netfilter/xt_CONNMARK.c: needs update net/netfilter/xt_DSCP.c: needs update net/netfilter/xt_MARK.c: needs update fatal: Entry 'net/ipv4/netfilter/ipt_ECN.c' not uptodate. Cannot merge.