windows git 刚 clone 的项目存在脏文件(modified),且无法add,无法stash,无法提交

windows git 刚 clone 的项目存在脏文件(modified),且无法add,无法stash,无法提交,第1张

新的机器, windows 系统, 之前一直在 linux 下开发.

在新 clone 一个项目后, 竟然发现刚 clone 的项目辩此里有脏文件, 处于 modified 状态携数迅.

并且无论 stash, 还是 add / commit 都无法消除这种状态.

看到出问题的几个文件, 都是之前毕含在 linux 里曾经改过文件名大小写的.

linux 路径区分大小写, 而 windows 不区分, 猜测这是造成问题的原因.

还一度猜测是 windows terminal 集成 wsl 里的 ubuntu 子系统有bug, 然而 windows 版本的 git 也是同样的表现就排除这个可能了.

1.项目目录下有以下文件:

2.其中,testfile.txt的内容初始只有“11111”;

3.app.py文件已被成功提交至版本库;

输入以下命令,将textfile.txt提交至暂存区:

提示发现了一个新文件(new file),表明testfile.txt已被提交至暂存区,并等待被提交至版本库(Changes to be committed)。

此时,在testfile.txt文件中再添加一行“22222”,文件内容变为:

可以看到仓库虽然追踪到了testfile.txt的改动(modified),但这个改动后的版本还没有被提交至暂存区(Changes not staged)。

输入以下命令:

可以看到以下结果:

“---”表示版本库里的版本,由于我们只是将testfile.txt提交至暂存区,但还没有将暂存区里的testfile.txt提交至版本库,因此版本库里testfile.txt的文件版本是“无”(/dev/null)。

“+++”表示当前工作区内的版本,(b/testfile.txt)

“@@ -0,0 +1,2 @@”

“-”表示版本库里的版本,如前面所述由于版本库里目前还没有testfile.txt,所以显示此时文件内容是从第0行到第0行;

“+”表示当前工作区的版本,由于模握当前文件内容已经变为两行:

+22222

表示当前工作区中testfile.txt的内容。

使用以下命令:

此时再查看仓库状态:

发现暂存区内对于testfile.txt文件已经没有了“new file”这一状态,证明testfile.txt文件的初始版本(即内容里只有一行“11111”)已被提交至版本库。

此时,再将版本库内容与工作区内旦唤庆容相比较:

由于初始版本中只有一行内容“11111”,所以初始版本状态是“-1”。

当前工作区内的testfile.txt有两行内容,所以是“+1,2”

-11111表示修改前版本内容,

+11111

+22222

表示目前工作区内textfile.txt文件的内容

再次使用“git add”命令将修改后的textfile.txt提交至暂存区:

查看此时仓库状态:

发现testfile.txt文件的“modified”状态已变为绿色,说明修改后的版本已被提交至暂存区,等待被提交至版本库。

再次使用“git commit”命令将修改后的testfile.txt版本提交至版本库:

查看此时仓库状态:

发现关于testfile.txt文件的信息已全部消失链肆,说明其修改版也已被提交至版本库。

再次使用“git diff HEAD”命令比较版本库里的版本和工作区的版本:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12150550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存