Я выбираю некоторые файлы с помощью git add
.Я проверяю их с помощью git status
:
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: Module2/test/user/UserIT.java
modified: Module2/pom.xml
Если я проверяю с помощью git diff --cached
, я вижу правильное содержание.Но затем я фиксирую с: git commit -m"My message"
, и когда я смотрю в моем коммите с git log -p -1
, я вижу:
commit fdfeb44fd6fa31e3495064c06777ef4587d3c76f (HEAD -> master)
Author: Orto <Orto@abc.com>
Date: Tue Sep 24 08:34:10 2019 +0200
My message
Module2/test/user/UserIT.java
Module2/pom.xml
someOtherUnrelatedFiles1
someOtherUnrelatedFiles2
Я не понимаю, почему здесь someOtherUnrelatedFiles1
и someOtherUnrelatedFiles2
?
Я использую git 2.23.0 в macOS 10.14.6, и у меня нет хуков в .git/hooks
.
== Обновление 1
Чтобы ответить на вопрос в комментариях, вот вывод git whatchanged
:
commit fdfeb44fd6fa31e3495064c06777ef4587d3c76f (HEAD -> master)
Author: Orto <Orto@abc.com>
Date: Tue Sep 24 08:34:10 2019 +0200
My message
:100644 100644 ed1a9bc0e 8240442a5 M Module2/test/user/UserIT.java
:000000 100644 000000000 6845f28c4 A Module2/pom.xml
:000000 100644 000000000 c95652dfa A someOtherUnrelatedFiles1/test/resources/import/all.json
:000000 100644 000000000 926bfc1f9 A someOtherUnrelatedFiles2/test/resources/import/ckan.json
== Обновление 2
My ~/.gitconfig
[push]
default = simple
[color]
ui = auto
[user]
name = Orto
email = Orto@abc.com
My .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@mygit.com:myproj/proj.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
== Обновление 3 ==
Если я клонирую хранилище в другом месте,это решает проблему, но я предпочитаю исправить существующий репозиторий, чтобы сохранить мои невыдвинутые ветви.
== Обновление 4 ==
Я запустил:
git stash clear
git remote prune origin
git reflog expire --expire=now --all
git gc --aggressive --prune=now
немного, это не помогло.Возможно, проблема в том, что соответствующий проект Gitlab был перемещен и переименован с Project-Abc
на project-abc
, а моя файловая система нечувствительна к регистру (macOS).Это всего лишь гипотеза.