Странное поведение со статусом git - PullRequest
0 голосов
/ 01 декабря 2011

Когда я изменяю один файл и затем запускаю 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:   app/models/category.rb
#
no changes added to commit (use "git add" and/or "git commit -a")

Почему есть линия (use "git add <file>..." to update what will be committed) ?? В моем репозитории нет файлов для добавления.

Ответы [ 3 ]

1 голос
/ 01 декабря 2011

git-add также используется для добавления изменений из рабочей копии в индекс . Индекс используется для создания коммита до его фактического принятия.

См. Например http://schacon.github.com/git/user-manual.html#how-to-make-a-commit

1 голос
/ 01 декабря 2011

Вы также используете git add для создания измененных файлов для фиксации.

0 голосов
/ 01 декабря 2011

Как уже упоминали другие, это потому, что git добавляет еще одну стадию к процессу, скажем, к subversion.В ветвях репозитория git хранятся зафиксированные версии файлов, в индексе git хранятся изменения, которые будут приняты, а в файловой системе - текущее текущее состояние файлов.

Даже если файл уже отслежен, когдаоно будет изменено, оно не будет явно зафиксировано, если вы не отметите его как «да, сделайте это».Несколько способов сделать это:

git add someFile;git commit; #explicitly add and then commit marked files
git commit someFile -m "  Change to someFile."; #explicitly commit a list of files
git commit -am "  Latest set of changes to all tracked files"; #shotgun approach, commits all changes to all tracked files or added files

Я рекомендую использовать

git commit someFile anotherFile aWholeOtherFile -m "  Commit message."

Явно, пока вы действительно не разберетесь с коммитом в git и не сможете лучше понять, как действоватьиметь дело со случайным совершением чего-то, чего вы не хотели, а затем перейти к более простому git commit -am " Commit message." подходу.

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