Git 会忽略大小写变化这种文件重命名,我们需要一种办法解决... 问题 今天为一个项目撰写持续构建计划,撰写 Jenkinsfile 之后进行构建时报错: [2022-05-23 16:54:21] unable to prepare context:
今天为一个项目撰写持续构建计划,撰写 Jenkinsfile
之后进行构建时报错:
[2022-05-23 16:54:21] unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/workspace/Dockerfile: no such file or directory script returned exit code 1
我一开始还以为是我写的 Jenkinsfile
有问题,可是这个 Jenkinsfile
内容极其简单,就是拉取代码然后docker build
,所以百思不得其解。然后仔细一看这个报错信息,又 Google 查了,可以确认出错的原因就是找不到 Dockerfile
这个文件。
然后我打开了代码仓库,定睛一看,好家伙,只有 dockerfile
而没有 Dockerfile
,这我能忍。当时就本地打开我的 VSCode 就是一个重命名操作,嗯很好。然后重命名后一看,Git 状态没有丝毫变化,我愣住了。然后又去 Google,发现这是我本机 Git 默认的正常操作,也就是说 Git 它会忽略文件名大小写变化。
为了解决上述这个问题,可以终端运行以下命令:
git mv dockerfile Dockerfile
如果一次重命名了很多文件呢
只有一个文件名大小写变化的这种场景,已经知道怎么应对了。要是有很多个文件都是名字大小写变化,这种情况又该怎么办呢。
不要慌,遇到这种场景,首先可以移除所有 git 缓存:
git rm -r --cached .
上面