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, которая была создана в этой папке.