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

Git commit -m vs. git commit -am

Кажется легким, но я просто не понимаю. Я в корне моего приложения.

Вот мой рабочий процесс.

git add .
git commit -m "added a new feature some files changed"
git push heroku master

Это обычно работает. Все мои изменения нажаты.

Но иногда у меня есть файл, который я меняю, но когда я нажимаю на Heroku, изменений нет для THAT ONE FILE... но для большинства файлов изменения там...

Но если я делаю

git add .
git commit -am "added a new feature some files changed"
git push heroku master

Все (все изменения) помещаются в Heroku

4b9b3361

Ответ 1

Из документов:

git commit -a автоматически обрабатывает все отслеживаемые измененные файлы перед фиксацией. Если вы считаете, что этап добавления git добавления рабочего процесса слишком громоздкий, git позволяет пропустить эту часть с опцией -a. Это в основном говорит git запускать git add в любом файле, который "отслеживается" - то есть любой файл, который был в вашей последней фиксации и был изменен. Это позволяет вам выполнять более рабочий процесс в стиле Subversion, если вы хотите просто редактировать файлы, а затем запускать git commit -a, когда вы хотите сделать снимок всего, что было изменено. Вы все еще должны запустить git добавить для начала отслеживания новых файлов, хотя, как и Subversion.

Использование опции -am позволяет вам добавлять и создавать сообщение для фиксации в одной команде.