Подтвердить что ты не робот

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$ 
4b9b3361

Ответ 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