Git добавить. → еще "ничего не делать" с новыми файлами
Я борюсь с Git, я не могу добавить свои файлы. Я запустил ls
, чтобы показать, что файлы находятся в текущем каталоге, затем запустил git add .
, затем git status
, который показал "ничего не зафиксировать".
Jennifer-Myers-Computer:first_app Jenn$ git init
Reinitialized existing Git repository in /Users/Jenn/rails_projects/first_app/.git/
Jennifer-Myers-Computer:first_app Jenn$ ls
Diary.txt README.rdoc config.ru log tmp
Gemfile Rakefile db public vendor
Gemfile.lock app doc script
README config lib test
Jennifer-Myers-Computer:first_app Jenn$ git add .
Jennifer-Myers-Computer:first_app Jenn$ git status
# On branch master
nothing to commit (working directory clean)
Jennifer-Myers-Computer:first_app Jenn$
Ответы
Ответ 1
Ваши команды выглядят правильно (я делал их много раз таким образом).
Сначала попробуйте
git add --all
а затем попробуйте git status
. Я не думаю, что это решит, но стоит попробовать следующий.
Затем попробуйте посмотреть файл .gitignore, если он у вас (на верхнем уровне, где вы сделали git init
).
cat .gitignore
Удалите все списки, в которых ваши файлы игнорируются. Например, есть запись только с *
?
Следующая попытка:
git add --force
а затем попробуйте git status
.
Если никто из них не работает, я замечаю, что ваш вывод из git init
говорит "повторно инициализирован", а не "инициализирован", поэтому что-то может быть испорчено. Если вы только что инициализировали его и не против потери истории, начните с удаления файла .git:
rm -rf .git
И затем повторите те же самые команды выше. Если это не сработает, потребуется дополнительная информация о вашей настройке. Например, у вас может быть глобальный файл .gitignore: ~/.gitignore_global
, который необходимо отредактировать (или удалить, если вы этого не хотите).
Ответ 2
Поскольку я неоднократно сталкивался с подобной проблемой, я хотел бы добавить, что вам следует дважды проверить, что вы пытаетесь добавить и в настоящее время находятся в корневой папке вашего проекта.
Ответ 3
В моем случае я решил его с помощью штамповки и сразу же после применения тарелки:
git stash
git stash apply
Эта последовательность оставит репо точно так же, как раньше. После этого выполняется git add [file]
.
(Используя git версию 1.7.12.4 под suse linux)
Ответ 4
В случае, если кто-то еще сталкивается с этим, другая причина, по которой git не добавляет каталог, состоит в том, что, возможно, в этом каталоге есть каталог .git
.
В этом случае git ожидает, что вы будете рассматривать это как submodule. В противном случае просто удалите этот .git
(в каталоге, а не в корневой каталог) и повторите попытку.
Удобная команда:
find . -name '.git' -type d