Как я могу создавать и передавать все файлы, включая новые добавленные файлы, с помощью одной команды?
Как я могу создавать и передавать все файлы, в том числе новые, с помощью одной команды?
Ответ 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
Для автоматической постановки и фиксации всех файлов.
Ответ 4
Однострочный файл для создания ВСЕХ файлов (измененный, удаленный и новый) и фиксации с комментарием:
git add --all && git commit -m "comment"
http://git-scm.com/docs/git-add
http://git-scm.com/docs/git-commit
Ответ 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.
Ответ 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.