У меня возникают проблемы, когда я не могу добавлять файлы в свой репозиторий.
Я использую GIT в Windows в Aptana Studio для разработки на Ruby.
Мне удалось отправить несколько файлов на GitHub, но после этого все перестало работать. Например, у меня есть новая подпапка в моем главном каталоге с двумя рубиновыми файлами внутри. Если я вызываю «git add.», А затем «git status», он продолжает говорить «рабочий каталог чист» и мне нечего фиксировать.
Я пробовал "git add folder / myfile.rb" и все равно ничего.
Кто-нибудь знает, что я могу попробовать?
Ответы:
Я оказался в ситуации, похожей на плакат:
Но у меня было другое решение, чем здесь. Поскольку я пришел к этому первым, я надеюсь сэкономить время другим.
Из приведенных выше ответов и того, что я видел в другом месте, обычные решения этой проблемы:
.gitignore
и.git/info/exclude
.gitkeep
заполнителем, чтобы git отслеживал папку.В моем случае я изначально пытался создать репозиторий git вокруг существующего репо (не зная, что он там был).
.git
Некоторое время назад я удалил папку из этого вспомогательного репо, но я не осознавал, что было слишком поздно, и git уже отслеживал его как подмодуль . Вы можете узнать больше о том, как они себя ведут и как их удалить, здесь , ноgit rm --cached path_to_submodule
.источник
git rm --cached name_of_former_submodule
и путь был получен автоматически.Чтобы добавить к возможным решениям для других пользователей:
Убедитесь, что вы не изменили регистр имени папки в 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"
источник
Если файл исключен
.gitignore
и вы все равно хотите добавить его, вы можете принудительно добавить его:источник
.gitignore
поэтому не знаю почему!), И это устранило мою проблему!Странно, но я всю ночь боролся с git, чтобы добавить файл. Оказывается, он уже был добавлен. Git не улавливал мои изменения, поскольку изменения не сохранялись, так как файл был недоступен для моей учетной записи, и моя IDE не сообщала об этом через SSH.
Короче говоря, убедитесь, что он еще не добавлен в репозиторий.
источник
git
можно было бы добавить сообщение, если какой-либо из указанных путей полностью уже находится в репозитории ... это сэкономило бы не менее 13 человек на несколько минут.Дважды проверьте свой
.gitignore
файл, чтобы убедиться, что он доступен для просмотра Git. Точно так же есть файл,.git/info/exclude
который «исключает» файлы / каталоги из проекта, как и.gitignore
файл.источник
У меня была эта проблема, и проблема заключалась в том, что я находился внутри каталога, а не на верхнем уровне. Когда я перешел на верхний уровень, все заработало.
источник
git add ..
или все необходимое, чтобы добраться до уровня, на котором существовали мои изменения, и это тоже сработало бы. Это просто проблема (моя ошибка пользователя).Лучше всего скопировать вашу папку. Удалите оригинал. Клонируйте проект из github, скопируйте новые файлы в новую клонированную папку и повторите попытку.
источник
У меня была такая проблема с первой программой в папке. Я сделал «git add», затем «git commit». "git status" выдает описанную ошибку, т.е. "ничего не фиксировать, рабочий каталог чист"
В итоге я удалил файл .git из папки программы. Затем я сделал новый git init, git add и git commit, и он сработал.
источник
cd
в папку сgit add
файлом.Как насчет стандартной процедуры:
Это добавит папку и все файлы с помощью одной команды.
Обратите внимание, что git не может хранить пустые папки.
Если фиксация не сработала, возможно, в первую очередь вам следует проверить
.gitignore
.источник
Вот вы можете найти ответ на ту же проблему:
в основном в этом случае проблема заключалась в игнорировании global_git
источник
В моем случае проблема заключалась в включенной опции SafeCrLf. Я нахожусь в окнах с черепаховым мерзавцем. После отключения опции добавление файлов больше не было проблемой.
источник
Другой проблемой могут быть права доступа к файлам. Попробуйте выдать:
chmod 755 file1
источник
Глупое решение с моей стороны, но я думал, что он не добавляет и не отправляет новые файлы, потому что github.com не показывает файлы, которые я только что отправил. Я забыл, что добавленные мной файлы находились в другой ветке. Файлы прошли нормально. Мне пришлось переключиться с моей основной ветки на новую ветку в github, чтобы увидеть их. Потерял на это несколько минут :)
источник
Невозможно (для меня) добавить первый файл в пустой репозиторий, клонированный с GitHub . Вам нужно перейти по ссылке README, которую предлагает создать GitHub. После того, как вы создадите свой первый файл в Интернете , вы сможете нормально работать с git.
Это случилось со мной 17 ноября 2016 года.
источник
Я все еще новичок в git, и это была просто глупая ошибка, которую я сделал, длинная история в одном предложении. Я был не во вложенной папке, как сообщил @gaoagong, а, наоборот, в родительской папке. Как ни странно, я не понял эту идею из этого ответа, вместо этого идея возникла во время тестирования
git add --all
, см. Длинную историю ниже.Пример в деталях. Фактическое репо:
Родительская папка, которую я по ошибке открыл на родительском уровне (в моем случае vscode_git):
Я клонировал репо, но у меня была родительская папка над этим репо, которую я вместо этого открыл, а затем я попытался добавить файл репозитория подпапки
git add 'd:\Stack Overflow\vscode_git\vscode-java\.github\ISSUE_TEMPLATE.md'
, который просто ничего не сделал, без предупреждающего сообщения, аgit status
затем сказал:Бег
git add --all
дал мне желтые записки:Чтобы это исправить, я вернула
git add --all
сgit rm --cached -r -f -- "d:\Stack Overflow\vscode_git\vscode-java" rm 'vscode-java'
:Затем, просто открыв вместо этого фактическую папку репо,
git снова работал, как ожидалось. Конечно, тогда можно удалить папку ".git" родительской папки:
источник
Вы можете рекурсивно удалить репозиторий, инициализированный git
$cd repo added $git rm -rf git
Вы можете создать отдельную ветку и связать подмодули с основной веткой. Документация по подмодулям действительно полезна. Документация [https://git-scm.com/book/en/v2/Git-Tools-Submodules]
Также см. Некоторые решения в [/programming/36236484/mainpting-a-git-repo-inside-another-git-repo]
источник
Я поискал некоторое время и в конце концов обнаружил, что заблокировал порт SSH, из-за чего перестала работать команда git add. В итоге я сменил источник с помощью https с помощью следующей команды: git remote set-url origin [url-to-git-repo]
источник
Я знаю, что это действительно старый вопрос, но я знаю, что это может случиться и с кем-то, оказывается, я работал с файлом с именем AUX.JS, и это зарезервированное имя файла для Windows, это привело к следующей ошибке
так что вы можете удалить файл или переименовать его, тогда он будет работать.
Окончательный вывод, в дополнение ко всем остальным действительным ответам, если вы работаете на компьютере с Windows, обратите внимание на вывод команды «git add», он также может предоставить дополнительную информацию.
источник
Была такая же проблема с репо, которое я клонировал из SiteGround Git на свой Mac. В недавно клонированном репо был список измененных файлов,
git status
говорилось что необходимо добавить в коммит, но попытка добавить или извлечь любой из них вообще ничего не дала.По какой-то причине в именах файлов был изменен регистр (например, .jpg -> .JPG). Решение заключалось в том, чтобы просто
git mv
имя файла, которое использовала ОС, использовалось git, например:источник
Недавно я столкнулся с этой проблемой на своем компьютере под управлением Windows 7. Я использую интерфейс окна командной строки git. Решением было быть очень осторожным с чувствительностью к регистру в именах файлов и каталогов при выполнении git add. Хотя git не будет жаловаться, если случай не совсем соответствует регистру файлов файловой системы Windows и именам каталогов, он также не будет добавлять файлы. Было бы нечего делать. Как только я наберу имена файлов с точным регистром, они будут добавлены и перечислены в списке изменений, которые должны быть зафиксированы, как я и предполагал.
источник
У меня была эта проблема в Visual Studio, что сработало для меня: 1 - Щелкните правой кнопкой мыши добавленный файл, который не распознается git. 2- Выберите «Добавить исключенный файл в систему контроля версий».
источник
У меня была такая же проблема, потому что была программа, использующая какой-то файл, и git выдает ошибку, в этом случае Visual Studio заблокировала этот файл.
источник
У меня возникла проблема, когда файлы из одной папки не добавлялись в исходный элемент Github. Чтобы решить эту проблему, я удалил папку .git, которая была создана в этой папке.
источник
У меня была аналогичная проблема.
Проблема заключалась в том, что в Windows в индекс файл был добавлен в случае, отличном от того, что было в неустановленной области. Например, в индексе файл был именем,
xx.txt
а в неустановленной области файл был именамиXx.txt
.Из индекса (
xx.txt
) удален файл с неправильным регистром . Затем я смог добавить файл с правильным регистром (Xx.txt
).источник
Ошибка git не добавляла измененный файл. Используя git bash, я изменил папку, ограничив имя папки двойными кавычками. ls правильно отобразил содержимое папки, но git не будет добавлять измененные файлы.
Решение Я использовал одинарную кавычку, чтобы ограничить имя папки.
например, CD "Имя папки" git status ничего не фиксировать, рабочее дерево очистить CD .. ls 'Имя папки' CD 'Имя папки' git status изменен: ModifiedFileName.bat
источник
Я пробовал все вышеперечисленное, но ничего не работало. Позже я запустил свою командную строку как администратор и повторил все этапы, то есть постановку -> фиксацию -> удаленное добавление -> нажатие. Это сработало как по волшебству. Изменения были отражены в желаемом удаленном репозитории.
Надеюсь, это поможет :) Сохраняйте спокойствие и продолжайте кодировать.
PS Я новичок и пытаюсь извлечь уроки из ошибки.
источник
Подобное случилось со мной, когда я переименовал файл в
Uppercase/Lowercase
. Таким образом, временное переименование файла может решить проблему.источник
В таких случаях проверьте правила в глобальном файле .gitignore и убедитесь, что ваша папка не помещается в них.
источник
Вот как я заставил свою работать:
Я начал
внутри каталога со всеми файлами / папками, которые я хотел включить.
Я побежал
ТОГДА
Я создал другой каталог за пределами источника, я перешел в этот каталог, затем я клонировал существующее репозиторий git, используя файл http: //../../.git, как указано на странице в github.
Как только он клонировал исходный код (у которого не было ничего, кроме readme.md), я скопировал все файлы из старого каталога в новый с помощью
Затем я добавил еще раз, а затем зафиксировал и продвинул эти правки.
Не спрашивайте меня, почему, но на этот раз они были загружены на сайт github и появились в виде файлов, к которым вы можете получить доступ в архиве .zip.
источник