This is a Linux 2.6 kernel repository. I git clone it to my local host.
After that. I didn't make any change. But when I "git status". I found 13 modified files. I want to discard them, but I can't.
> luke@Macbook-Pro~/Documents/workspace/linuxkernel/linux-2.6$ git > status > # On branch master > # Changes not staged for commit: > # (use "git add <file>..." to update what will be committed) > # (use "git checkout -- <file>..." to discard changes in working directory) > # > # modified: include/linux/netfilter/xt_connmark.h > # modified: include/linux/netfilter/xt_dscp.h > # modified: include/linux/netfilter/xt_mark.h > # modified: include/linux/netfilter/xt_rateest.h > # modified: include/linux/netfilter/xt_tcpmss.h > # modified: include/linux/netfilter_ipv4/ipt_ecn.h > # modified: include/linux/netfilter_ipv4/ipt_ttl.h > # modified: include/linux/netfilter_ipv6/ip6t_hl.h > # modified: net/ipv4/netfilter/ipt_ecn.c > # modified: net/netfilter/xt_dscp.c > # modified: net/netfilter/xt_hl.c > # modified: net/netfilter/xt_rateest.c > # modified: net/netfilter/xt_tcpmss.c > # > # Untracked files: > # (use "git add <file>..." to include in what will be committed) > # > # samples/hidraw/ no changes added to commit (use "git add" and/or "git commit -a") > luke@Macbook-Pro~/Documents/workspace/linuxkernel/linux-2.6$ git > checkout -- include/linux/netfilter/xt_connmark. h > luke@Macbook-Pro~/Documents/workspace/linuxkernel/linux-2.6$ git > status > # On branch master > # Changes not staged for commit: > # (use "git add <file>..." to update what will be committed) > # (use "git checkout -- <file>..." to discard changes in working directory) > # > # modified: include/linux/netfilter/xt_CONNMARK.h > # modified: include/linux/netfilter/xt_dscp.h > # modified: include/linux/netfilter/xt_mark.h > # modified: include/linux/netfilter/xt_rateest.h > # modified: include/linux/netfilter/xt_tcpmss.h > # modified: include/linux/netfilter_ipv4/ipt_ecn.h > # modified: include/linux/netfilter_ipv4/ipt_ttl.h > # modified: include/linux/netfilter_ipv6/ip6t_hl.h > # modified: net/ipv4/netfilter/ipt_ecn.c > # modified: net/netfilter/xt_dscp.c > # modified: net/netfilter/xt_hl.c > # modified: net/netfilter/xt_rateest.c > # modified: net/netfilter/xt_tcpmss.c > # > # Untracked files: > # (use "git add <file>..." to include in what will be committed) > # > # samples/hidraw/ no changes added to commit (use "git add" and/or "git commit -a") > luke@Macbook-Pro~/Documents/workspace/linuxkernel/linux-2.6$ git > checkout -- include/linux/netfilter/xt_dscp.h > luke@Macbook-Pro~/Documents/workspace/linuxkernel/linux-2.6$ git > status > # On branch master > # Changes not staged for commit: > # (use "git add <file>..." to update what will be committed) > # (use "git checkout -- <file>..." to discard changes in working directory) > # > # modified: include/linux/netfilter/xt_CONNMARK.h > # modified: include/linux/netfilter/xt_DSCP.h > # modified: include/linux/netfilter/xt_mark.h > # modified: include/linux/netfilter/xt_rateest.h > # modified: include/linux/netfilter/xt_tcpmss.h > # modified: include/linux/netfilter_ipv4/ipt_ecn.h > # modified: include/linux/netfilter_ipv4/ipt_ttl.h > # modified: include/linux/netfilter_ipv6/ip6t_hl.h > # modified: net/ipv4/netfilter/ipt_ecn.c > # modified: net/netfilter/xt_dscp.c > # modified: net/netfilter/xt_hl.c > # modified: net/netfilter/xt_rateest.c > # modified: net/netfilter/xt_tcpmss.c > # > # Untracked files: > # (use "git add <file>..." to include in what will be committed) > # > # samples/hidraw/ no changes added to commit (use "git add" and/or "git commit -a") > luke@Macbook-Pro~/Documents/workspace/linuxkernel/linux-2.6$ >
edited:
luke@Macbook-Pro~/Documents/workspace/linuxkernel/linux-2.6$ git config -l user.name=99999 user.email=99999 alias.co=checkout core.editor=mate -w core.edit=mate -w core.excludesfile=/Users/luke/.gitignore_global difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE" difftool.sourcetree.path= mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED" mergetool.sourcetree.trustexitcode=true core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true
edited: this is my diff file:
diff --git a/include/linux/netfilter/xt_CONNMARK.h b/include/linux/netfilter/xt_CONNMARK.h index 2f2e48e..efc17a8 100644 --- a/include/linux/netfilter/xt_CONNMARK.h +++ b/include/linux/netfilter/xt_CONNMARK.h @@ -1,6 +1,31 @@ -#ifndef _XT_CONNMARK_H_target -#define _XT_CONNMARK_H_target +#ifndef _XT_CONNMARK_H +#define _XT_CONNMARK_H -#include <linux/netfilter/xt_connmark.h> +#include <linux/types.h> -#endif /*_XT_CONNMARK_H_target*/ +/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com> + * by Henrik Nordstrom <[email protected]> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +enum { + XT_CONNMARK_SET = 0, + XT_CONNMARK_SAVE, + XT_CONNMARK_RESTORE +}; + +struct xt_connmark_tginfo1 { + __u32 ctmark, ctmask, nfmask; + __u8 mode; +}; + +struct xt_connmark_mtinfo1 { + __u32 mark, mask; + __u8 invert; +}; + +#endif /*_XT_CONNMARK_H*/ diff --git a/include/linux/netfilter/xt_DSCP.h b/include/linux/netfilter/xt_DSCP.h index 648e0b3..15f8932 100644 --- a/include/linux/netfilter/xt_DSCP.h +++ b/include/linux/netfilter/xt_DSCP.h @@ -1,26 +1,31 @@ -/* x_tables module for setting the IPv4/IPv6 DSCP field +/* x_tables module for matching the IPv4/IPv6 DSCP field * * (C) 2002 Harald Welte <[email protected]> - * based on ipt_FTOS.c (C) 2000 by Matthew G. Marsh <[email protected]> * This software is distributed under GNU GPL v2, 1991 * * See RFC2474 for a description of the DSCP field within the IP Header. * - * xt_DSCP.h,v 1.7 2002/03/14 12:03:13 laforge Exp + * xt_dscp.h,v 1.3 2002/08/05 19:00:21 laforge Exp */ -#ifndef _XT_DSCP_TARGET_H -#define _XT_DSCP_TARGET_H -#include <linux/netfilter/xt_dscp.h> +#ifndef _XT_DSCP_H +#define _XT_DSCP_H + #include <linux/types.h> -/* target info */ -struct xt_DSCP_info { +#define XT_DSCP_MASK 0xfc /* 11111100 */ +#define XT_DSCP_SHIFT 2 +#define XT_DSCP_MAX 0x3f /* 00111111 */ + +/* match info */ +struct xt_dscp_info { __u8 dscp; + __u8 invert; }; -struct xt_tos_target_info { - __u8 tos_value; +struct xt_tos_match_info { __u8 tos_mask; + __u8 tos_value; + __u8 invert; }; -#endif /* _XT_DSCP_TARGET_H */ +#endif /* _XT_DSCP_H */ diff --git a/include/linux/netfilter/xt_mark.h b/include/linux/netfilter/xt_mark.h index ecadc40..41c456d 100644 --- a/include/linux/netfilter/xt_mark.h +++ b/include/linux/netfilter/xt_mark.h @@ -1,15 +1,6 @@ -#ifndef _XT_MARK_H -#define _XT_MARK_H +#ifndef _XT_MARK_H_target +#define _XT_MARK_H_target -#include <linux/types.h> +#include <linux/netfilter/xt_mark.h> -struct xt_mark_tginfo2 { - __u32 mark, mask; -}; - -struct xt_mark_mtinfo1 { - __u32 mark, mask; - __u8 invert; -}; - -#endif /*_XT_MARK_H*/ +#endif /*_XT_MARK_H_target */ diff --git a/include/linux/netfilter/xt_rateest.h b/include/linux/netfilter/xt_rateest.h index d40a619..6605e20 100644 --- a/include/linux/netfilter/xt_rateest.h +++ b/include/linux/netfilter/xt_rateest.h @@ -1,37 +1,15 @@ -#ifndef _XT_RATEEST_MATCH_H -#define _XT_RATEEST_MATCH_H +#ifndef _XT_RATEEST_TARGET_H +#define _XT_RATEEST_TARGET_H
Due to Stack Overflow length limit. Only part of diff file can be copied here.
still need help
There are two Git commands a developer must use in order to discard all local changes in Git, remove all uncommited changes and revert their Git working tree back to the state it was in when the last commit took place. The commands to discard all local changes in Git are: git reset –hard. git clean -fxd.
Try Git checkout --<file> to discard uncommitted changes to a file. Git reset --hard is for when you want to discard all uncommitted changes. Use Git reset --hard <commit id> to point the repo to a previous commit.
A git reset --hard HEAD
should solve the problem.
You can use:
git checkout .
To understand the difference between git checkout
and git reset
refer to the following question :
What's the difference between "git reset" and "git checkout"?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With