Как я могу создавать и передавать все файлы, в том числе новые, с помощью одной команды?

Как я могу создавать и передавать все файлы, включая новые добавленные файлы, с помощью одной команды?

Ответ 1

Does

git add -A && git commit -m "Your Message"

считать "единой командой"?

Изменить на основе ответа @thefinnomenon ниже:

Чтобы использовать его как git alias, используйте:

git config --global alias.coa '!git add -A && git commit -m'

и передайте все файлы, включая новые, с сообщением:

git coa "A bunch of horrible changes"

Объяснение (из документации git add):

-A, --all, --no-ignore-removal

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

Если <pathspec> не задано при использовании опции -A, все файлы в все рабочее дерево обновляется (старые версии Git использовались для ограничения обновить до текущего каталога и его подкаталогов).

Ответ 2

Эта команда добавит и зафиксирует все измененные файлы, , но не только созданные файлы.

git commit -am  "<commit message>"

От человека git -commit:

   -a, --all
       Tell the command to automatically stage files that have been modified
       and deleted, but new files you have not told Git about are not
       affected.

Ответ 3

Я использую эту функцию:

gcaa() { git add --all && git commit -m "$*" }

В моем файле конфигурации zsh, поэтому я могу просто сделать:

> gcaa This is the commit message

Для автоматической постановки и фиксации всех файлов.

Ответ 5

Не уверен, почему все эти ответы танцуют вокруг того, что я считаю правильным решением, но для того, что это стоит, вот что я использую:

Создать псевдоним:

git config --global alias.coa '!git add -A && git commit -m'

Добавить все файлы и зафиксировать с сообщением:

git coa "A bunch of horrible changes"

ВНИМАНИЕ: coa означает "совершить все" и может быть заменено всем, что душе угодно

Ответ 6

Эта команда добавит и зафиксирует все измененные файлы, но не вновь созданные файлы.

git commit -am  "<commit message>"

Из руководства git -commit:

-a, --all

   Tell the command to automatically stage files that have been modified
   and deleted, but new files you have not told Git about are not
   affected.

здесь ссылка git документации

Ответ 7

Согласование в git может быть многоступенчатым процессом или одним шагом в зависимости от ситуации.

  • В этой ситуации вы обновляете несколько файлов и совершить:

    Вы должны добавить все измененные файлы, прежде чем совершать что-либо.

    git add -A
    

    или

    git add --all
    
  • После этого вы можете использовать commit все добавленные файлы

    git commit
    

    с этим вы должны добавить сообщение для этого фиксации.

Ответ 8

Если вы просто хотите "быстрый и грязный" способ сменить изменения в текущей ветке, вы можете использовать следующий псевдоним:

git config --global alias.temp '!git add -A && git commit -m "Temp"'  

После запуска этой команды вы можете просто набрать git temp, чтобы git автоматически вносил все ваши изменения в текущую ветку в качестве фиксации с именем "Temp". Затем вы можете использовать git reset HEAD~ позже, чтобы "раскрыть" изменения, чтобы вы могли продолжить работу над ними, или git commit --amend, чтобы добавить дополнительные изменения в commit и/или присвоить им собственное имя.

Ответ 9

У меня в моей конфигурации два псевдонима:

alias.foo=commit -a -m 'none'
alias.coa=commit -a -m

Если я слишком ленив, я просто делаю все изменения с помощью

git foo

и просто для быстрого фиксации

git coa "my changes are..."

coa означает "commit all"

Ответ 10

Отличные ответы, но если вы ищете синюю линию, делайте все, вы можете конкатенатироваться, псевдоним и наслаждаться удобством:

git add * && git commit -am "<commit message>"

Это единственная строка, но две команды, и, как уже упоминалось, вы можете выполнять следующие команды:

alias git-aac="git add * && git commit -am " (пространство в конце важно), потому что вы собираетесь параметризовать новую команду короткой руки.

С этого момента вы будете использовать этот псевдоним:

git-acc "<commit message>"

Вы в основном говорите:

git, добавьте для меня все необработанные файлы и передайте их с данным сообщением о коммитстве.

Надеюсь, вы используете Linux, надеюсь, что это поможет.

Ответ 11

Вы можете написать небольшой script (посмотрите на ответ Яна Клелланда) под названием git-commitall, который использует несколько команд git для выполнения того, что вы хотите сделать.
Поместите этот script в любом месте вашего $PATH. Вы можете называть его git commitall... очень удобным!

Найдено здесь (вопрос и все ответы, к сожалению, удалены, только видимые с высокой репутацией)

Ответ 12

Вам не нужно вообще добавлять git. Вы можете добавлять файлы, используя git commit Например:

git commit -m "comments" filename(s)

Это сработало для меня

Ответ 13

попробуйте использовать:

git add . && git commit -m "your message here"

Ответ 14

Запустите данную команду

git add . && git commit -m "Changes Committed"

Однако, даже если кажется, что это одна команда, две отдельные команды запускаются одна за другой. Здесь мы просто использовали && для их объединения. Это не сильно отличается от бега git add . и git commit -m "Changes Committed" отдельно. Вы можете запустить несколько команд вместе, но последовательность имеет значение здесь. Как, если вы хотите отправить изменения на удаленный сервер вместе с подготовкой и фиксацией, вы можете сделать это, как указано,

git add . && git commit -m "Changes Committed" && git push origin master

Вместо этого, если вы измените последовательность и установите push на первое, оно будет выполнено первым и не даст желаемого толчка после постановки и фиксации только потому, что оно уже запущено первым.

&& запускает вторую команду в строке, когда первая команда возвращается успешно или с уровнем ошибки 0. Противоположностью && является ||, который запускает вторую команду, когда первая команда не выполнена, или с уровнем ошибки 1.