Почему git status для определенного репо возвращает пути относительно корня, а не текущего каталога?
При использовании git из подкаталога внутри определенного репозитория пути к файлам возвращаются относительно корня, например, так
cd $REPO_ROOT/subdir
git status
...
# modified ../subdir/file.txt
Такое поведение недавно, раньше возвращалось file.txt
вместо этого, как и в случае с другими моими репозиториями git, и это портит другие функции, git blame file.txt
из подкаталога возвращает каждую строку как Not Yet committed
, чтобы получить фактический результат мне нужно использовать ../subdir/file.txt
, Это также портит плагин vim git, так что я очень раздражен.
Я уже бегал git gc
но проблема сохраняется.
редактирование: добавление git-версии и конфигов
git version 1.7.4.4
user.name=...
user.email=...
github.user=...
color.branch=auto
color.diff=auto
color.status=auto
color.branch.current=yellow reverse
color.branch.local=yellow
color.branch.remote=green
color.diff.meta=yellow bold
color.diff.frag=magenta bold
color.diff.old=red
color.diff.new=green
color.status.added=green
color.status.changed=red
color.status.untracked=cyan
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
#remotes and branches
status.relativepaths=true
1 ответ
Это проблема конфигурации:
cd repo
git config status.relativePaths true
Или глобальный:
git config --global status.relativePaths true
Дополнительная информация: https://www.kernel.org/pub/software/scm/git/docs/git-status.html