gpt4 book ai didi

git - 为什么我在本地 VM 上登录时,在共享文件夹中会得到不同的 git 状态?

转载 作者:行者123 更新时间:2023-12-04 19:30:28 24 4
gpt4 key购买 nike

我在 OS/X 机器上工作,我有一个 CentOS 7 VM 在那里运行。我在我的驱动器上设置了一个单独的(区分大小写)分区,其中包含一个在两台机器之间共享的文件夹,以便我可以在 OS/X 中工作,但在 CentOS 中构建。我有理由。
这几乎总是不是问题。但是,对于特定的 git 存储库,我似乎遇到了一些奇怪的事情:
如果我运行 git status在 OS/X 终端中,我得到了一个干净的存储库:

$ git status
On branch 3.2.1
Your branch is up to date with 'origin/3.2.1'.

nothing to commit, working tree clean
但是,如果我在 VM 中运行完全相同的命令,我会得到以下信息:
$ git status
On branch 3.2.1
Your branch is up to date with 'origin/3.2.1'.

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: some/file

no changes added to commit (use "git add" and/or "git commit -a")
这里到底发生了什么?请注意,这些更改是实质性更改;这里还有一个关于行尾的问题,这不是它声称在这里找到的区别。
(在某些情况下:我只注意到这一点,因为我在 VM 中进行了更改,提交它们,并从 VM 中将它们全部推送;但是,VS Code 声称我没有进行这些更改,这与我所看到的一致之后在远程上。然后从 OS/X 提交并推送这些更改,现在 VM 认为发生了一些有趣的事情。查看 git diff 的输出,它与文件的当前版本不匹配:即最后一个commit 删除了几行,但 git diff 似乎认为我已将它们添加回来:
$ git diff
diff --git a/some/file b/some/file
index 8444607..d42b59a 100644
--- a/some/file
+++ b/some/file
@@ -167,6 +167,9 @@
... snip ...
+
+Lines that were deleted in the last commit
+Another line that was deleted in the last commit
A line that is in the current file

)
(一些附加信息,如果这是相关的:这都在另一个模块的 git 子模块中)

最佳答案

对于它的值(value),以防其他人遇到这种情况:这似乎是两个操作系统上某种文件缓冲的问题。当我在 OS/X 中添加新数据并保存时,CentOS 和 OS/X 都同意文件内容。我不确定它们为什么不同步,但是做出明确的更改并保存它似乎已经修复了它。

关于git - 为什么我在本地 VM 上登录时,在共享文件夹中会得到不同的 git 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63815075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com