Ответ 1
Используйте git add --ignore-errors .
Это все равно даст ошибку для нечитаемых файлов (файлов), но не является фатальной. Остальные файлы будут добавлены.
Я хочу добавить все файлы в текущем каталоге в git:
git add .
error: open(".mysql_history"): Permission denied
fatal: unable to index file .mysql_history
Это хорошо. Этот файл находится в этом каталоге и принадлежит root. Я хочу добавить все остальные файлы. Есть ли способ сделать это без необходимости вручную добавлять каждый файл вручную?
Я знаю, что я могу добавить файл для исключения или .gitignore, но я бы хотел, чтобы он просто игнорировал вещи на основе разрешений (есть хорошая вероятность, что другие файлы, подобные этому, попадут в каталог и добавят их до .gitignore все время является болью).
Используйте git add --ignore-errors .
Это все равно даст ошибку для нечитаемых файлов (файлов), но не является фатальной. Остальные файлы будут добавлены.
Закрытие вашей IDE или чего-либо другого, использующего относительные файлы, которые вы хотите загрузить, решило мою проблему
Помогло бы вам добавить этот файл в ваш файл .gitignore? Таким образом, все остальные файлы будут версироваться и этот файл будет проигнорирован (если вам это не понадобится).
sudo chown $(whoami): .git/objects/ -R; git add --ignore-errors .
исправил это для меня. Первая половина фиксированной собственности (кто-то зарегистрирован как root, озорной), а вторая половина делает ошибки не фатальными. Вторая половина сама по себе помогла мне отследить, какой каталог принадлежал root.
Просто исключите файл. Вы можете добавить .mysql_history
в файл .gitignore
или добавить его в .git/info/exclude
.
Добавление записи в .gitignore
будет распространять настройку с помощью репо (поскольку .gitignore
хранится с репо); добавление его в .git/info/exclude
делает его "личным", потому что этот файл не распространяется с помощью репо. В любом случае .mysql_history
будет игнорироваться git-add
и друзьями.
Подробнее об игнорировании файлов с Git можно прочитать на этой странице руководства.
Как указывалось в комментариях @Dhanuka777, если вы используете Visual Studio или Unity, вы должны закрыть все экземпляры Visual Studio и Unity перед git add.
Я использовал решение @matli, но иногда имел проблемы. Я закончил тем, что использовал
git add --ignore-errors --force .
Перезапуск системы (Windows) решает мою проблему.
Закрыл все экземпляры визуальной студии, работал на меня