许多"修改"的文件,就在"git clone"或"git checkout "之后。



我有一个远程git repo,我一如既往地从中克隆。然后我"git st"进行检查,但我得到了一个"修改的文件"列表,比如:

user@DESKTOP-2RDUUGD srv_dev (shao) $ git st
Refresh index: 100% (13535/13535), done.
M nms/bns/bin/malt_bns
M nms/bns/src/bns_hndjdg/makefile.Linux
M nms/bns/src/bns_jdg/makefile.Linux
M nms/bns/src/bns_stoptrailmng/makefile.Linux
M nms/bns/src/bns_tmsc/makefile.Linux
M nms/bns/src/bns_tt_autocoop/makefile.Linux
M nms/bns/src/com/makefile.Linux
M nms/com/bin/icnv.sh
M nms/com/bin/mk.mk
M nms/com/bin/wu.mk
M nms/com/bin/wu2.mk
M nms/com/src/com/makefile.Linux
M nms/com/src/sindan/makefile.Linux
M nms/com/src/tool/menu/makefile.Linux
...

我选择了其中一些文件,"diff"是真实的(不仅仅是行尾的东西(,比如:

user@DESKTOP-2RDUUGD srv_dev (shao) $ git diff nms/tmsif/src/tool/trcsts/makefile.Linux
diff --git a/nms/tmsif/src/tool/trcsts/makefile.Linux b/nms/tmsif/src/tool/trcsts/makefile.Linux
index 3c31585a..b220657f 100644
--- a/nms/tmsif/src/tool/trcsts/makefile.Linux
+++ b/nms/tmsif/src/tool/trcsts/makefile.Linux
@@ -1,7 +1,7 @@
#
#        情報連携統合ビュー  MAKE
#
-#              オブジェクト作成
+#              ロードモジュール作成
#
SRCPATH        = .
@@ -14,22 +14,27 @@ INCPATH5= $(OD_HOME)/include
INCPATH6= $(TD_HOME)/include
OBJPATH        = $(HOME)/tmsif/obj
+LIBPATH_C      = $(HOME)/com/lib
+LIBPATH_TLOG   = $(HOME)/TLogger/lib
LIBPATH        = $(HOME)/tmsif/lib
+EXEPATH        = $(HOME)/tmsif/exe
-TARGET = $(LIBPATH)/libtmsif_trcsts.a
+CFLAGS = -fPIC -c

我还试过"git checkout",和git克隆后修改的文件,git显示克隆后修改的文件,没有任何更改。

我在";git版本2.17.1.windows.2";(获胜的数字(,以及";git版本2.37.2";(msys2(。

真正有趣的是,我在";git版本2.37.2";(Fedora 36(。

有什么线索或暗示吗?谢谢

考虑到这些修改,它们不太可能是某些脚本编辑文件的结果。

如果你的目录实际上是";"已处理";通过云同步工具,如ownCloud、oneDrive、google drive
如果云同步工具选择恢复.git/目录中的文件,则可以使用";"主动提交";,例如,这种情况在你不知情的情况下发生了变化。

修复方法是:确保在云同步目录中工作。


如果您在共享驱动器中工作,如果其他人在该目录上运行操作,则可能会产生类似的效果。


你可以有一个脚本,它以某种方式对你的一个操作做出反应,并选择将你的回购git reset提交给其他提交。

在放弃窗口5个月后,我终于知道了原因。

在同一目录.中同时存在"makefile.Linux"one_answers"makefile.Linu克斯">

在linux上,这是可以的,但在Windows上,它们被视为同一个文件,因此一个文件将被另一个文件覆盖,从而在git视图中被"修改"。

真令人惊讶:(

最新更新