이 명령을 사용하여 macOS 12.5에서 Linux 저장소를 복제하고 있습니다.
git clone https://github.com/torvalds/linux.git
그러나 git status를 사용하여 저장소 정보를 표시하면 저장소에 일부 수정된 파일이 있습니다.
➜ linux git:(master) ✗ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: include/uapi/linux/netfilter/xt_CONNMARK.h
modified: include/uapi/linux/netfilter/xt_DSCP.h
modified: include/uapi/linux/netfilter/xt_MARK.h
modified: include/uapi/linux/netfilter/xt_RATEEST.h
modified: include/uapi/linux/netfilter/xt_TCPMSS.h
modified: include/uapi/linux/netfilter_ipv4/ipt_ECN.h
modified: include/uapi/linux/netfilter_ipv4/ipt_TTL.h
modified: include/uapi/linux/netfilter_ipv6/ip6t_HL.h
modified: net/netfilter/xt_DSCP.c
modified: net/netfilter/xt_HL.c
modified: net/netfilter/xt_RATEEST.c
modified: net/netfilter/xt_TCPMSS.c
modified: tools/memory-model/litmus-tests/Z6.0+pooncelock+poonceLock+pombonce.litmus
no changes added to commit (use "git add" and/or "git commit -a")
이 저장소의 파일을 수정하지 않았습니다. git status에 수정된 파일이 표시되는 이유는 무엇입니까? 이것은 git diff가 보여주는 것의 일부입니다:
diff --git a/include/uapi/linux/netfilter/xt_CONNMARK.h b/include/uapi/linux/netfilter/xt_CONNMARK.h
index 36cc956ead1a..41b578ccd03b 100644
--- a/include/uapi/linux/netfilter/xt_CONNMARK.h
+++ b/include/uapi/linux/netfilter/xt_CONNMARK.h
@@ -1,7 +1,37 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _XT_CONNMARK_H_target
-#define _XT_CONNMARK_H_target
+/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
+/* Copyright (C) 2002,2004 MARA Systems AB <https://www.marasystems.com>
+ * by Henrik Nordstrom <[email protected]>
+ */
-#include <linux/netfilter/xt_connmark.h>
+#ifndef _XT_CONNMARK_H
+#define _XT_CONNMARK_H
-#endif /*_XT_CONNMARK_H_target*/
+#include <linux/types.h>
+
+enum {
+ XT_CONNMARK_SET = 0,
+ XT_CONNMARK_SAVE,
+ XT_CONNMARK_RESTORE
:
diff --git a/include/uapi/linux/netfilter/xt_CONNMARK.h b/include/uapi/linux/netfilter/xt_CONNMARK.h
index 36cc956ead1a..41b578ccd03b 100644
--- a/include/uapi/linux/netfilter/xt_CONNMARK.h
+++ b/include/uapi/linux/netfilter/xt_CONNMARK.h
@@ -1,7 +1,37 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _XT_CONNMARK_H_target
-#define _XT_CONNMARK_H_target
+/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
+/* Copyright (C) 2002,2004 MARA Systems AB <https://www.marasystems.com>
+ * by Henrik Nordstrom <[email protected]>
이 명령을 사용하면 다음과 같은 오류가 표시됩니다.
➜ linux git:(master) ✗ git checkout . --
fatal: invalid reference: .
답변1
개인적인 경험을 통해 답을 찾았습니다! 문제는 대소문자를 구분하지 않는 파일 시스템에서는 저장소를 체크아웃할 수 없다는 것입니다. 별도의 대소문자 구분 파티션을 생성하거나 Docker 컨테이너 내에 생성할 수 있습니다.