58 votes

Comment puis-je supprimer les fichiers modifiés ?

Il s'agit d'un dépôt de noyau Linux 2.6. Je le clone sur mon hôte local.

Après ça. Je n'ai fait aucun changement. Mais quand je "git status". J'ai trouvé 13 fichiers modifiés. Je veux les jeter, mais je ne peux pas.

 > 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$ 
> 

édité:

 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

édité : c'est mon fichier diff :

 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 <hno@marasystems.com>
+ *
+ * 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 <laforge@gnumonks.org>
- * based on ipt_FTOS.c (C) 2000 by Matthew G. Marsh <mgm@paktronix.com>
  * 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

En raison de la limite de longueur de dépassement de pile. Seule une partie du fichier diff peut être copiée ici.

Encore besoin d'aide

76voto

Igor Popov Points 3198

Un git reset --hard HEAD devrait résoudre le problème.

27voto

Jayant Tripathi Points 135

En entrant successivement ces commandes.

 git stash
git stash drop

git stash stocke les fichiers modifiés sur une pile pour une récupération ultérieure.

git stash drop supprime.

23voto

avichalp Points 644

Vous pouvez utiliser:

 git checkout .

Pour comprendre la différence entre git checkout et git reset référez-vous à la question suivante :

Quelle est la différence entre « git reset » et « git checkout » ?

17voto

Buddy Points 525

Cela se produit parce que le noyau Linux inclut des fichiers portant le même nom (mais des cas différents) :

 include/linux/netfilter/xt_connmark.h 
include/linux/netfilter/xt_CONNMARK.h

16voto

horoyoi o Points 398

Restaurer:

modifié : specific_filename

git checkout <specific_filename>

C'est plus sûr que de supprimer tous les fichiers à la fois en utilisant git checkout . .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X