не могу добавить все файлы в git из-за разрешений

Я хочу добавить все файлы в текущем каталоге в git:

git add .
error: open(".mysql_history"): Permission denied
fatal: unable to index file .mysql_history

Хорошо. Этот файл находится в этом каталоге и принадлежит пользователю root. Я хочу добавить все остальные файлы. Есть ли способ сделать это без необходимости вручную добавлять каждый файл?

Я знаю, что могу добавить файл для исключения или .gitignore, но я бы хотел, чтобы он просто игнорировал вещи, основанные на разрешениях (есть большая вероятность, что другие файлы, подобные этому, окажутся в каталоге и добавят их в .gitignore все время это боль).

31 git
10.12.2008 14:49:07
10 ОТВЕТОВ
РЕШЕНИЕ

использование git add --ignore-errors .

Это все равно выдаст ошибку для нечитаемых файлов, но не фатальную. Другие файлы будут добавлены.

48
11.12.2008 15:23:06
Если вы используете VS, это может произойти. В моем случае мне пришлось закрыть все экземпляры Visual Studio. Выключение IIS Express и перезапуск Visual Studio также решат проблему.
Dhanuka777 17.05.2016 03:57:22
@ Dhanuka777 это был ответ для меня! Гораздо проще, чем создать .gitignore и добавить файл, как и многие другие предложения. Спасибо!
Burkely91 8.12.2016 13:21:39

Поможет ли это, если вы добавите этот файл в свой файл .gitignore? Таким образом, все остальные файлы будут версионными, и этот файл будет игнорироваться (если вам это не нужно).

5
10.12.2008 14:52:33

Просто исключите файл. Вы можете добавить .mysql_historyв .gitignoreфайл или добавить его в .git/info/exclude.

Добавление записи в .gitignoreбудет распространять настройки с репо (так .gitignoreкак сохраняется с репо); добавление его .git/info/excludeделает его «личным», потому что этот файл не распространяется с репо. В любом случае, .mysql_historyбудут игнорироваться git-addи друзья.

Вы можете прочитать больше об игнорировании файлов с помощью Git на этой странице руководства .

3
10.12.2008 14:52:47
sudo chown $(whoami): .git/objects/ -R; git add --ignore-errors .

исправил это для меня. Первая половина зафиксировала владение (кто-то зарегистрировался как root, непослушная), а вторая половина делает ошибки не фатальными. Вторая половина сама помогла мне отследить, какой каталог принадлежал пользователю root.

4
29.05.2012 15:33:13

Я использовал решение @matli, но иногда возникали проблемы. Я в конечном итоге с помощью

git add --ignore-errors --force .

1
13.11.2017 19:33:38

Как указывалось в комментариях @ Dhanuka777, если вы используете Visual Studio или Unity, вы должны закрыть все экземпляры Visual Studio и Unity перед git add.

4
21.08.2018 13:28:23
Есть ли другой путь?
Shuvo Sarker 7.12.2018 04:21:05

Закрытие вашей IDE или других файлов, которые вы хотите загрузить, решило мою проблему.

11
5.04.2019 09:16:42

Перезапуск системы (Windows) решает мою проблему.

-1
13.08.2019 03:38:07

Закрыл все экземпляры визуальной студии, работал на меня

0
20.10.2019 07:03:05

Пожалуйста, укажите имя файла, который вы хотите добавить; пример:

git add index.html

Я надеюсь, что это поможет вам также

0
6.01.2020 04:53:51