Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

В git status одни и те же файлы в разных секциях

#git


Здесь что-то пошло не так или я что-то не понимаю?

C:\Users\paul\Workspace\someproject>git status
# On branch master
# Your branch is ahead of 'origin/master' by 57 commits.
#   (use "git push" to publish your local commits)
#
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#       new file:   common/models/SmsQueue.php
#       new file:   console/components/Sms/Factory.php
#       new file:   console/components/Sms/Gateway.php
#       new file:   console/controllers/SmsQueueController.php
#
# Changes not staged for commit:
#   (use "git add ..." to update what will be committed)
#   (use "git checkout -- ..." to discard changes in working directory)
#
#       modified:   common/models/SmsQueue.php
#       modified:   console/components/Sms/Factory.php
#       modified:   console/components/Sms/Gateway.php
#       modified:   console/config/params.php
#       modified:   console/controllers/SmsQueueController.php
#


Версия Git:

C:\Users\paul\Workspace\someproject>git --version
git version 1.8.3.msysgit.0


Как одни и те же файлы могут быть одновременно и "Changes to be committed", и "Changes
not staged for commit"?
    


Ответы

Ответ 1



Значит файлы были исправлены после того, как они были добавлены в stage. Никакого бага здесь нет. После любого изменения нужно помещать файл в stage, иначе это изменение не попадёт в ближайший commit.

Ответ 2



А можно ещё добавить файл в коммит не полностью, а частично с помощью git add --patch filename.x. git будет спрашивать для каждого куска изменений - добавлять его или нет. Это позволит добавить только часть изменений с файла на коммит. В этом случае также можно добиться приведенного выше поведения git'а.

Комментариев нет:

Отправить комментарий