Git: Как оформить ветку на нечувствительных к регистру файловых системах?Git считает, что у меня есть неотслеживаемые файлы в рабочем дереве, а я нет - PullRequest
0 голосов
/ 15 мая 2019
nowaker@nwkr-newmbp ~/projects/my-project (git)-[version-pin] % git checkout master
error: The following untracked working tree files would be overwritten by checkout:
    Readme.md
Please move or remove them before you switch branches.
Aborting
% git status
On branch version-pin
nothing to commit, working tree clean

Единственная разница между текущей веткой и мастером в том, что я переименовал имя файла из Readme.md в README.md в моей текущей ветке.master все еще имеет Readme.md.Поскольку файловая система Mac OSX по умолчанию отформатирована как нечувствительная к регистру, git считает, что у меня есть неотслеживаемые файлы в рабочем дереве, а я нет.

Как лучше всего обойти эту проблему?

Ответы [ 3 ]

0 голосов
/ 15 мая 2019

Оформление заказа https://git -scm.com / docs / git-config # Documentation / git-config.txt-coreignoreCase

Вы, вероятно, хотите внести изменения в свой git config

git config --global core.ignorecase true
0 голосов
/ 16 мая 2019

Если 2 файла не будут изменены в обозримом будущем, вы можете использовать git update-index --assume-unchanged $path или git update-index --skip-worktree $path для устранения ошибки. Позже вы можете использовать --no-assume-unchanged или --no-skip-worktree для отмены эффекта.

Но лучший способ - переименовать одно из них в другое имя и зафиксировать изменение в чувствительной к регистру системе.

0 голосов
/ 15 мая 2019

Использование git checkout --force.

% git checkout master --force
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
...