Я сделал git commit -m "message"
так:
> git commit -m "save arezzo files"
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: arezzo.txt
# modified: arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")
Но потом, когда я это делаю, git status
он показывает те же измененные файлы:
> git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: arezzo.txt
# modified: arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")
Что я делаю не так?
git
version-control
git-commit
Arezzo
источник
источник
git commit -am "save arezzo files"
для автоматического добавления всех изменений (относительно .gitignore). Вы можете добавить только определенные файлы /git add file.src
Ответы:
Как говорится в сообщении:
В Git есть «промежуточная область», в которую необходимо добавить файлы перед тем, как их зафиксировать. Вы можете прочитать об этом здесь .
Для вашего конкретного примера вы можете использовать:
(обратите внимание на дополнительное
a
в флагах, также можно записать какgit commit -a -m "message"
- оба делают одно и то же)В качестве альтернативы, если вы хотите быть более избирательным в отношении того, что вы добавляете в коммит, вы используете команду git add, чтобы добавить соответствующие файлы в промежуточную область, и статус git, чтобы просмотреть, что должно быть добавлено (не обращая внимания на формулировка используется).
Вы также можете найти общую документацию и учебные пособия по использованию git на странице документации git, которая даст более подробную информацию о концепции размещения / добавления файлов.
Еще одна вещь, о которой стоит знать, это интерактивная подготовка. Она позволяет добавлять части файла в область подготовки, поэтому, если вы внесли три разных изменения кода (для связанных, но разных функций), вы можете использовать интерактивный режим для разделения вносить изменения и добавлять / фиксировать каждую часть по очереди. Может быть полезно иметь такие конкретные коммиты меньшего размера.
источник
Вы не добавили изменения. Либо специально добавить их через
или добавьте все изменения (из корневого пути проекта)
или используйте сокращение
-a
при совершении:источник
Ты должен сделать:
источник
Я скопировал небольшой подпроект, который у меня был под управлением исходного кода Git, в другой проект и забыл удалить папку .git. Когда я пошел к фиксации, я получил то же сообщение, что и выше, и не мог его очистить, пока не удалил
.git
папку.Это немного глупо, но стоит проверить, что у вас нет папки .git в папке, которая не фиксируется.
источник
Вы могли бы сделать:
Чтобы проверить, какие файлы вы изменили и собираетесь добавить (пробный запуск: -n опция), а затем
Чтобы добавить только измененные файлы
источник
Я обнаружил, что эта проблема появляется, когда я сделал
git add .
в подкаталоге ниже, где находится мой.gitignore
файл (так сказать, домашний каталог моего хранилища). Попробуйте изменить каталоги на самый верхний каталог и запустить,git add .
а затемgit commit -m "my commit message"
.источник
Может быть, очевидная вещь, но ...
Если у вас есть проблемы с индексом, используйте git-gui . Вы получите очень хорошее представление о том, как на самом деле работает индекс (область подготовки).
Другим источником информации, который помог мне понять индекс, был Скотт Чаконс «Getting Git», стр. 259 и далее.
Я начал с командной строки, потому что большая часть документации показала, что ...
Я думаю, что git-gui и gitk на самом деле заставляют меня работать быстрее, и я избавился от вредных привычек, таких как, например, «git pull» ... Теперь я всегда сначала выбираю ... Посмотрите, какие новые изменения есть на самом деле, прежде чем я сливаюсь.
источник
Причина, по которой это происходит, заключается в том, что у вас есть папка, которая уже отслеживается Git, в другой папке, которая также отслеживается Git. Например, у меня был проект, и я добавил в него подпапку. Git отслеживал их обоих, прежде чем я положил один внутрь другого. Чтобы остановить отслеживание внутри, найдите его и удалите файл Git с помощью:
В моем случае у меня было приложение WordPress, и папка, которую я добавил внутри, была темой. Поэтому мне пришлось перейти в корень темы и удалить файл Git, чтобы весь проект теперь отслеживался родителем, приложением WordPress.
источник
если у меня есть больше файлов в моем случае, у меня есть 7000 файлов изображений, когда я пытаюсь добавить их из папки маршрута проекта, он не добавил их, но когда я иду в папку изображений, все в порядке. Пройдите через целевую папку и введите команду abows
источник
У меня была проблема, когда я делал это
commit --amend
даже после выдачи,git add .
и она все еще не работала. Оказывается, я сделал некоторые.vimrc
настройки, и мой редактор не работал правильно. Исправление этих ошибок так, чтобыvim
возвращался правильный код, решило проблему.источник
У меня была очень похожая проблема с тем же сообщением об ошибке. «Изменения не сделаны для коммита», но когда я делаю разницу, это показывает различия. Я наконец понял, что некоторое время назад я изменил дело с каталогами. ех. «PostgeSQL» - «postgresql». Как я сейчас помню, иногда git оставляет один или два файла в старом каталоге case. Затем вы передадите новую версию новому делу.
Таким образом, мерзавец не знает, на кого положиться. Чтобы решить эту проблему, мне пришлось зайти на сайт GitHub. Тогда вы сможете просмотреть оба случая. И вы должны удалить все файлы в неправильном каталоге. Убедитесь, что у вас сохранена правильная версия в правильном каталоге.
Как только вы удалите все файлы в старом каталоге, весь этот каталог исчезнет. Затем сделайте коммит.
На этом этапе вы сможете выполнять Pull на локальном компьютере и больше не видеть конфликтов. Таким образом, возможность совершить снова. :)
источник
Если у вас есть подпапка, которая была клонирована из другого git-Repository, сначала вы должны удалить файл $ .git $ из child-Repository:
rm -rf .git
после этого вы можете перейти в родительскую папку и использоватьgit add -A
.источник