Git - Не будет добавлять файлы?

У меня возникают проблемы, когда я не могу добавить файлы в мой репозиторий.

Я использую GIT для окон, в Aptana Studio для разработки Ruby.

Мне удалось протолкнуть несколько файлов до GitHub, но после этого все перестало работать. У меня есть, например, новая подпапка в моей главной директории с двумя рубиновыми файлами внутри. Если я назову "git add.", А затем "git status", и он продолжает говорить "рабочий каталог чистым" и не имеет ничего зафиксировать.

Я пробовал "git добавить папку /myfile.rb" и все равно ничего.

Кто-нибудь знает, что я могу попробовать?

Ответ 1

Я оказался в похожей ситуации с плакатом:

Если я назову "git add.", а затем "git status", и он продолжает говорить "рабочий каталог чист" и не имеет ничего зафиксированного.

Но у меня было другое решение, чем здесь. Поскольку я пришел к этому первому, я надеюсь немного спасти других.

Из приведенных выше ответов и того, что я видел в другом месте, обычные исправления для этой проблемы:

  • Убедитесь, что в файле есть фактически сохраненные изменения.
  • Убедитесь, что файл не соответствует вашим правилам исключения в .gitignore и .git/info/exclude
  • Убедитесь, что вы не пытаетесь добавить пустую папку. Git не будет отслеживать их. Стандартное решение состоит в том, чтобы поместить пустой файл с именем .gitkeep в качестве заполнителя, поэтому Git будет отслеживать папку.

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

  • для меня было просто запустить git rm --cached path_to_submodule.

Ответ 2

Чтобы добавить к возможным решениям для других пользователей:

Убедитесь, что вы не изменили имя папки в Windows:

У меня была аналогичная проблема, когда папка под названием Setup, управляемая Git и размещенная на GitHub, вся разработка была выполнена на компьютере под управлением Windows.

В какой-то момент я сменил папку на Setup (нижний регистр S). С этого момента, когда я добавил новые файлы в папку установки, они были сохранены в папке Setup, а не в папке Setup, но я думаю, потому что я разрабатывал на машине Windows существующую папку Setup в git/github не был изменен на Setup.

В результате я не смог увидеть все файлы в Setup в GitHub. Я подозреваю, что если бы я клонировал проект на машине * nix, я бы увидел две папки: Setup и Setup.

Поэтому убедитесь, что вы не изменили случай содержащейся папки на машине Windows, если у вас есть, то я бы предложил:

  • Переименование папки на что-то вроде setup-temp
  • git add -A
  • git commit -m "Whatever"
  • Переименуйте папку обратно в нужное вам
  • git add -A
  • git commit -m "Whatever"

Ответ 3

Если файл исключен с помощью .gitignore и вы хотите его добавить, вы можете заставить его с помощью:

git add -f path/to/file.ext

Ответ 4

Дважды проверьте файл .gitignore, чтобы убедиться, что файл можно увидеть с помощью Git. Аналогично, есть файл .git/info/exclude, который "исключает" файлы/каталоги из проекта, как и файл .gitignore.

Ответ 5

Нечетный, но я боролся с git всю ночь, чтобы добавить файл. Оказывается, он уже был добавлен. git не собирал мои изменения, так как изменения не сохранялись, так как файл был недоступен моей учетной записи, и моя IDE не сообщала об этом через SSH.

Короче говоря, убедитесь, что вы не добавили его в репозиторий.

Ответ 6

Лучше всего скопировать вашу папку. Удалите оригинал. Скройте проект из github, скопируйте новые файлы в новую клонированную папку и повторите попытку.

Ответ 7

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

Ответ 8

У меня была эта проблема с первой программой в папке. Я сделал "git добавить", затем "git commit". "git status" дал описанную ошибку, то есть "ничего не зафиксировать, рабочий каталог чист"

В итоге я удалил файл .git из папки программы. Затем я сделал новый git init, git add и git commit, и он сработал.

Ответ 9

Как насчет стандартной процедуры:

git add folder
git commit

Это добавит папку и все ее файлы с помощью одной команды.
Обратите внимание: git не может хранить пустые папки.

Если фиксация не сработала, первое, что вы должны проверить, возможно, это .gitignore.

Ответ 10

Здесь вы можете найти ответ на ту же проблему:

в основном в этом случае проблема была в глобальном игнорировании

Ответ 11

В моем случае проблема была включена в опции SafeCrLf. Я на окнах с черепахой git. После отключения опции добавление файлов больше не было проблемой.

Ответ 12

Глупое решение от меня, но я думал, что это не добавление и толкание новых файлов, потому что github.com не показывал файлы, которые я только что нажал. Я забыл, что файлы, которые я добавил, были в другом ветке. Файлы имели толчок просто отлично. Мне пришлось переключиться с моей ветки мастера на новую ветку в github, чтобы увидеть их. Потерял несколько минут на этом:)

Ответ 13

Другой проблемой могут быть права доступа к файлам. Попробуйте сделать: chmod 755 file1

Ответ 14

Невозможно (для меня) добавить первый файл в пустой репозиторий, клонированный из GitHub. Вам нужно перейти по ссылке README, которую предлагает GitHub. После того, как вы создадите свой первый файл онлайн, вы можете нормально работать с git.

Это случилось со мной 17 ноября 2016 года.

Ответ 15

Я некоторое время искал, и выяснил, что я заблокировал порт SSH, что и вызвало команду git add, чтобы прекратить работу. Я закончил смену источника с помощью https с помощью следующей команды: git remote set-url origin [url-to- git -repo]

Ответ 16

Я знаю, что это действительно старый вопрос, но я знаю, что это может случиться и с кем-то, оказывается, я работал с файлом с именем AUX.JS, и это зарезервированное имя файла для Windows, это привело к следующей ошибке

Неустранимый: невозможно определить 'src/hoc/Aux.js': нет такого файла или каталога

так что вы можете удалить файл или переименовать его, тогда он будет работать.

Окончательный вывод, в дополнение ко всем другим действительным ответам, если вы находитесь на машине с Windows, обратите внимание на вывод команды 'git add', она также может предоставить дополнительную информацию.

Ответ 17

У меня была та же проблема с репозиторием, которую я клонировал из SiteGround Git на мой Mac. Только что клонированное хранилище имело список измененных файлов, которые, по словам git status нужно было добавить в коммит, но попытка добавить или извлечь какой-либо из них вообще ничего не делала.

По некоторым причинам произошли изменения в именах файлов (например,.jpg ->.JPG). Решение состояло в том, чтобы просто git mv имя файла, которое ОС использовала для имени, которое использовал git, например:

git mv File_That_Wont_Add.txt File_THAT_WONT_Add.txt

Ответ 18

Недавно я столкнулся с этой проблемой на моем компьютере под управлением Windows 7. Я использую интерфейс окна команды git. Решением было быть очень внимательным к чувствительности к регистру имен файлов и каталогов при выполнении git add. Хотя git не будет жаловаться, когда регистр точно не соответствует регистру файловой системы Windows и имен каталогов, он также не будет добавлять файлы. Там не было бы ничего, чтобы совершить. После того, как я набрал имена файлов в правильном регистре, они будут добавлены и перечислены под изменениями, которые должны быть зафиксированы, как я планировал.

Ответ 19

У меня была эта проблема в Visual Studio, которая работала для меня: 1- Щелкните правой кнопкой мыши на добавленном файле, который не распознается git. 2- Выберите "Добавить исключенный файл в Source Control"

Ответ 20

У меня была та же проблема, и это было потому, что была программа, использующая какой-то файл, и git выдает ошибку, в этом случае Visual Studio заблокировала этот файл.

Ответ 21

У меня была проблема, когда файлы из одной папки не добавлялись в систему управления исходным кодом Github. Чтобы решить эту проблему, я удалил папку .git, которая была создана в этой папке.