Git не совершает поэтапных изменений - PullRequest
0 голосов
/ 19 февраля 2019

После удаления / изменения файлов я пометил их, выполнив git add -A, а затем попытался git add -u.Когда я фиксирую изменения, я замечаю, что git фактически не фиксирует эти изменения.Состояние Git по-прежнему показывает, что файлы находятся в стадии подготовки, и выполнение команды git push сообщает мне everything is up to date.

Каковы возможные причины этого?Статус Git четко показывает удаления и модификации.

Используемые точные команды:

git add -A

git status - показывает, что все изменения подготовлены должным образом

git commit -m 'message here'

ничего не зафиксировано, поэтому я попытался git add -u

зафиксировать снова с той же командой, но ничего не получилось.Вот вывод состояния git после подготовки файлов:

enter image description here

Ответы [ 3 ]

0 голосов
/ 19 февраля 2019

Вы пытались использовать конкретное имя файла или каталога?Я всегда использую git add . или git add ../something.txt, и у меня никогда не было проблем.Я получил только забавные дела на Git со сменой веток.

Если это все еще не работает, я бы попробовал сделать новый локальный репо.

Надеюсь, это поможет.

0 голосов
/ 20 февраля 2019

После удаления / изменения файлов я пометил их, выполнив git add -A, и также попробовал git add -u

Вам нужно использовать git add -A && git add -u, только если выиспользуя более старые версии git (> 2.0).В Git> 2.0 по умолчанию для git add id git add -A

https://github.com/git/git/blob/master/Documentation/RelNotes/2.0.0.txt

Когда git add -u и git add -A запускаются внутри подкаталога без указания путей для добавленияв командной строке они работают со всем деревом для согласованности с git commit -a и другими командами (эти команды используются только для текущего подкаталога).

Скажите git add -u . или git add -A ., если хотите ограничить операцию текущим каталогом.


Начиная с версии git 2.0.0:

git add <path> совпадает с git add -A <path> сейчас

Так что просто используйте это:

git add .

Когда я фиксирую изменения, яобратите внимание, что git фактически не фиксирует никаких изменений.

Похоже, вы не зафиксировали никаких изменений.

Вы также упомянули: ... Они также отсутствуют в .gitignore. .
Запустите эту команду, чтобы посмотреть, игнорируются ли файлы или нет

git check-ignore * -v 
0 голосов
/ 19 февраля 2019

Да, это ожидаемое поведение с параметром -u:

Обновите индекс только там, где у него уже есть запись , соответствующая.Это удаляет, а также изменяет записи индекса в соответствии с рабочим деревом, но не добавляет новых файлов.

(выделение мое)

Если вы еще не уже добавьте эти файлы, они не будут помечены -u.Это способ сказать git: «Я изменил эти файлы снова с момента последнего добавления их».

Почему вы используете параметр в первую очередь?Чего вы пытались достичь / избежать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...