Клиент GitHub в OS X Commit Fail («Не удалось добавить файл»)

Я пытаюсь зафиксировать изменения, внесенные в мой код (как обычно), из моего клиента GitHub на моем компьютере с Mac OS X Mavericks. Я добавил новый пакет в свой проект (это проект Laravel, и я добавил пакет Rocketeer. Я также внес несколько изменений в конфигурацию).

Я получаю сообщение об ошибке:

Failed to add file laravel-master/vendor/anahki  

Когда я снимаю отметку с этого файла в списке коммитов, он переходит к другому файлу, показывающему эту ошибку.

Failed to add file laravel-master/vendor/illumin

Есть идеи, что происходит? Я никогда не сталкивался с этими проблемами. Спасибо.

РЕДАКТИРОВАТЬ:

Я сузил это до двух файлов, которые не разрешено фиксировать (это для проекта Laravel):

Это ошибки, которые я получаю, когда пытаюсь зафиксировать эти две папки/файлы:

Failed to add file laravel-master/vendor/illuminate/remote/Illuminate/Remote/ to index.

Failed to add file laravel-master/vendor/anahkiasen/rocketeer/ to index.

person user1072337    schedule 25.04.2014    source источник
comment
у вас есть права на эти файлы? какое разрешение на них?   -  person Paul Bele    schedule 26.04.2014
comment
У меня должны быть права на все файлы. Это просто пакеты, добавленные в фреймворк.   -  person user1072337    schedule 27.04.2014


Ответы (10)


В моем случае уже был каталог .git из другого импортированного стороннего репозитория git. Пришлось удалить, все заработало.

person user3366948    schedule 22.06.2014

У меня такая же проблема. В том месте, где я хотел создать новый, был существующий репозиторий .git. Я удалил его и создал новый. Теперь коммит работает как положено.

Если вы не уверены, может ли существовать .git в целевом расположении вашего репозитория, сделайте это (на машине Unix):

$> cd <path>
$> ls -aef 

Это должно показать вам скрытые файлы (например, .git). Теперь у вас есть два варианта: либо удалить каталог .git

$> sudo rm -R .git

или изменить права владельца.

person FK82    schedule 26.07.2014

Это странная ошибка.

Кажется, это ошибка разрешений, указанная git (командная строка), но сохраняется, даже если разрешения равны 777.

Что сработало для меня, так это войти в терминал, cding в каталог и вручную добавить его в индекс.

Итак, вы бы сделали:

cd <WHEREVER-YOUR-PROJECT-IS>/laravel-master/
sudo git add vendor/illuminate/remote/Illuminate/Remote/
sudo git add vendor/anahkiasen/rocketeer/

А затем снова попробуйте утилиту GitHub.

Дайте мне знать, если это сработает!

person c0d3rman    schedule 30.04.2014
comment
Я думаю, что это вызвано удалением файла/каталога, а затем добавлением нового файла/каталога с тем же именем. Ручной запуск git add -A в терминале также решил эту проблему для меня. К сожалению, приложение не обрабатывает этот случай. - person N S; 31.03.2015
comment
Работал на меня. Спасибо. - person Sinan Eldem; 05.10.2015

Это раздражало меня в течение нескольких недель! Мне приходилось продолжать заходить в терминал и добавлять каждый файл и делать коммиты с терминала, что не так приятно, как использовать приложение.

Наконец-то я связался со службой поддержки GitHub, и они сообщили мне, что знают об этой проблеме и скоро выпустят исправление.

Откройте терминал или оболочку, перейдите в репозиторий и введите:

git config --local core.safecrlf false


Это отключит свойство core.safeclrf для репозитория, вызывающего проблему.

Это должно сработать :)

Примечание. Я использую версию приложения GitHub для Mac (A New Hope (180))

person LedsBringIt    schedule 21.05.2014
comment
Испытываю точно такую ​​же проблему, и это не работает для меня. Любые другие идеи? - person Nick M; 28.05.2014

Мой глупый способ решить эту проблему - скопировать все нужные мне файлы и удалить папку, затем создать новую папку с тем же именем и скопировать их обратно. Это действительно сработало для меня. Я новичок в github и не знаю, как узнать ранее существовавший файл git (хотя я знал, что это, вероятно, было вызвано конфликтом между старыми и новыми файлами конфигурации). Лучше узнать, как работает github, чтобы лучше использовать его как инструмент. Но пока, если вы хотите получить быстрое решение, мое может вам подойти.

person LiweiZ    schedule 29.09.2014

Временный обходной путь — сделать фиксацию без файлов, вызывающих проблему. Вычеркните плохие файлы из списка коммитов, сделайте локальную фиксацию, но не отправляйте их на сервер, т. е. кнопка со стрелками не должна быть зеленой. Затем перейдите в свою IDE, скопируйте куда-нибудь содержимое классов/файлов, а затем удалите проблемный файл. Создайте новый файл и вставьте. Перезапустите приложение github, затем сделайте коммит с этими новыми, а затем вы можете нажать. Работал на меня.

Я использую v.185 (Responder Train).

person not_this_again    schedule 03.08.2014
comment
У меня есть сотни файлов, хотя? Это означало бы прокрутку списка из тысяч файлов и поиск сотен для проверки. - person IIllIIll; 17.11.2015

Подумал, что это может быть работа, добавляющая сюда...

Когда я пытался зафиксировать свои изменения, у меня все еще был открыт Xcode. Таким образом, утилита Github имеет проблемы с добавлением файлов из-за некоторых проблем с безопасностью. Я закрыл Xcode, но ошибка осталась в утилите Github. Мне пришлось закрыть и снова открыть утилиту Github, прежде чем она заработала.

Пища для размышлений!

person Noah Labhart    schedule 19.03.2015

В моем случае я решил проблему, вручную создав новую папку. Например, я хочу переместить папку с именем «echarts» в свой репозиторий github. Я просто создал папку с названием echarts, а затем скопировал файлы в echarts и вставил в папку. Он не включает скрипт git.

person Frank Wang    schedule 14.06.2015

Могут быть разные причины проблемы. Для меня были изменены права доступа к файлам.

Выполните следующие команды на терминале:

$ cd <path>
$ chmod u+rw file.py
person Dhruv Ramani    schedule 12.01.2016

Проверьте, установлен ли у вас Xcode. Было соглашение EULA, с которым мне нужно было согласиться, прежде чем оно позволит мне совершить

person Haggis19    schedule 02.09.2016