继续创作,加快成长!这是我参加「日新计划 10 月更文应战」的第6天,点击检查活动概况

一、bug呈现端倪

我发现在IDEA项目中修正文件,commit没有检测到

git在IDEA中无法检测到文件变化(no changes added to commit)

改动API_interface下面一切文件悉数不会检测到,我改动了Main,可是没有像.idea相同变色,在commit区也看不到它。

使用命令行git commit

报错

$ git commit -m "API commit"
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:   API_Interface/src/main/java/com/example/api_interface/Service/Main.java
no changes added to commit (use "git add" and/or "git commit -a")

报错截图

git在IDEA中无法检测到文件变化(no changes added to commit)

二、解析原因

git status检查状况

$ 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:   API_Interface/src/main/java/com/example/api_interface/Service/Main.java
no changes added to commit (use "git add" and/or "git commit -a")

补白:git status 输出的内容分为3个组

# On branch master
# Changes to be committed:  (1.已经在stage区, 等待添加到HEAD中的文件)
# (use "git reset HEAD <file>..." to unstage)
#
#modified: hello.py
#
# Changes not staged for commit: (2.有修正, 可是没有被添加到stage区的文件)
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
#modified: main.py
#
# Untracked files:(3.没有tracked过的文件, 即从没有add过的文件)
# (use "git add <file>..." to include in what will be committed)
#
#hello.pyc

三、尝试解决

我猜测可能是git没追寻上的问题,按照提示就add一下,add完了,再commit,

第一次不报错,看起来像是成功的样子

git在IDEA中无法检测到文件变化(no changes added to commit)

git命令的成功push

试了下git status不报错了,git push 也是成功的

git在IDEA中无法检测到文件变化(no changes added to commit)

可是IDEA里仍是检测不到

IDEA软件git的检测bug依旧存在

很明显,这可能不是git追寻的问题,究竟git push 都成功了。那咱们看看追寻吧

git ls-tree -r master --name-only

git在IDEA中无法检测到文件变化(no changes added to commit)

为了实验严谨,再试一次 git push

git在IDEA中无法检测到文件变化(no changes added to commit)

git体系是能够看到成功push的

git在IDEA中无法检测到文件变化(no changes added to commit)

不要有侥幸心理了,这个文件是被追寻的,是一个我没见过的IDEA的bug。

问题描绘:这个文件,被git追寻了,可是他的变化,IDEA里的git检测不到。

命令行是能够push的。可是,我不太习气命令行,仍是想搞好他。不过为了赶deadline先搞项目,抽暇解决他。 更新:

四、发现IDEA的报错

具体原因

Invalid VCS root mapping(无效的版本办理体系根目录映射)

git在IDEA中无法检测到文件变化(no changes added to commit)

The directory <Project>\API_Interface is registered as a Git root, but no Git repositories were found there.

这个便是由于我在创建项目的时分勾了create git repository 后来我写了一半把一切.git删了,可是这个目录还被注册为git 根目录的问题。

git在IDEA中无法检测到文件变化(no changes added to commit)

解决方法

点那个报错的Configure 装备下就好了,指箭头的删了他。

git在IDEA中无法检测到文件变化(no changes added to commit)

问题解决。

个人总结

只要用命令行

git add .
git commit -m "你的补白"
git push -u origin master

这个东西是没问题的,便是IDEA软件检测不到,不方便了点。

更新:

IDEA右下方的那个老给我提更新,我都没留意过。这次吸取教训,每一个error都值得咱们认真对待