Git на MacOS восстанавливает файл после коммита при выполнении git rm - PullRequest
0 голосов
/ 06 января 2019

Запуск MacOs High Sierra 10.13.4 и git версии 2.17.0.

Вот мой рабочий процесс:

  • git rm ./some/file.out
  • Выполнить git status увидеть, что удаление для ./some/file.out ожидает принятия
  • Проверьте ls ./some/ и убедитесь, что файл был удален
  • Запустите git commit и увидите сообщение, что один файл удален

Тем не менее:

  • Если я затем запустите git status, я вижу файл, который все еще там, но не отслежен.
  • При запуске git clean -df для неотслеживаемого файла он удаляется и не возвращается.

Я тоже пробовал

  • Удалить файл без git rm ./some/file.out
  • Запустите git add ., затем git commit и увидите сообщение об удаленном файле
  • Запустить git status и показать, что файл все еще присутствует, но не отслежен

Кажется, это только начало происходить недавно.

Вот мой конфиг git:

credential.helper=osxkeychain
core.hookspath=/Users/myname/.git_hooks
core.excludesfile=/Users/myname/.gitignore
user.email=myname@somewhere.com
color.ui=true
color.branch=true
color.status=true
color.diff=true
color.interactive=true
color.grep=true
color.pager=true
color.decorate=true
color.showbranch=true
alias.pt=!git push -u origin `git rev-parse --abbrev-ref HEAD`
alias.co=checkout
alias.cob=checkout -B
alias.b=branch
alias.bd=branch -D

Что может происходить, в частности, кто-нибудь еще видел нечто подобное и находил, что это связано с мерзавцем?

Простое удаление файлов (не репозиторий Git) в терминале не имеет такого поведения.

1 Ответ

0 голосов
/ 06 января 2019

покатаюсь вокруг моего ~/.git_hooks. Похоже, виноват скрипт, который вызывается в моей папке ~/.git_hooks/pre-commit.d.

Не уверен, что именно сценарий делает (или должен был делать), но когда я удаляю сценарий, функциональность git rm && git commit работает как положено - больше нет файлов, восставших из мертвых!

...