В Git добавить и зафиксировать в одной команде
есть ли способ я могу сделать
git add -A
git commit -m "commit message"
в одну команду?
Я, кажется, делаю эти две команды много, и если бы у Git был такой вариант, как git commit -Am "commit message", это сделало бы жизнь намного более удобной.
git commit имеет -a модификатор, но это не совсем то же самое, что делать git add -A перед совершением. git add -A добавляет вновь созданные файлы, но git commit -am нет. А что делает?
17 ответов:
вы можете использовать псевдонимы git, например
git config --global alias.add-commit '!git add -A && git commit'и использовать его с
git add-commit -m 'My commit message'
EDIT: вернулся к ТИКам ( ' ), так как в противном случае он не будет работать для расширения оболочки на Linux. На Windows, следует использовать use двойные кавычки (") вместо (указал в комментариях, не проверял).
git commit -a -m "message"это простой способ сказать git, чтобы удалить файлы, которые вы удалили, но я обычно не рекомендую такие рабочие процессы catch-all. git коммиты должны в лучшем случае быть довольно атомарными и затрагивать только несколько файлов.
git add . git commit -m "message"- это простой способ, чтобы добавить все файлы новые или измененные. кроме того, применяется всеохватывающая квалификация выше. не будет удалять файлы, удаленные без .
git add app git commit -m "message"это простой способ добавить все файлы в индекс из одного каталога, в данном случае приложение реж.
чтобы держать его в одной строке:
git add . && git commit -am "comment"эта строка будет добавлять и фиксировать все измененные и добавленные файлы в репозиторий.
в более поздней версии git вы можете добавить и зафиксировать вот так
git commit -a -m "commit message"дополнительно вам псевдоним:
[alias] ac = commit -a -mтогда вы можете использовать его следующим образом:
git ac "commit message"
только адаптации Алеся-х и courtsimas это комментарии linux bash:
чтобы держать его в одной строке:
git commit -am "comment"эта строка добавит и зафиксирует все изменить в репозиторий.
просто убедитесь, что нет новые файлы этот мерзавец еще не взял трубку. в противном случае вам нужно будет использовать:
git add . ; git commit -am "message"
на моей машине windows я настроил это
.bashrcпсевдоним, чтобы сделать весь процесс более простым.
- создать / найти
.bashrc-Смотрите так нити меньше!--10-->добавьте следующую строку в файл
alias gacp='echo "enter commit message : " && read MSG && git add . && git commit -m "$MSG" && git push'он добавляет git commit и push . настроить его в любом случае, скажем, вы не хотите, чтобы команда push удалить эту часть
- вы можете сделать весь процесс с .
перезагрузка
.bashrc/ закрыть и открыть оболочка
Я делаю раковины
#!/bin/sh clear git add -A git commit -a -m "'$*'"сохранить например git.sh а позже звоните:
sh git.sh your commit message
Если вы типа:
git config --global alias.a '!git add -A && git commit -m'один раз, вам просто нужно будет ввести
git aкаждый раз:
git a 'your comment'
у меня есть эта функция в моем
.bash_profileили.profileили.zprofileили все, что получает источник в оболочках входа:function gac () { # Usage: gac [files] [message] # gac (git add commit) stages files specified by the first argument # and commits the changes with a message specified by the second argument. # Using quotes one can add multiple files at once: gac "file1 file2" "Message". git add && git commit -m "" }
Я использую следующее (оба находятся в процессе работы, поэтому я постараюсь не забыть обновить это):
# Add All and Commit aac = !echo "Enter commit message:" && read MSG && echo "" && echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"$MSG\" && echo "" && echo "New status:" && echo "===========" && git status # Add All and Commit with bumpted Version number aacv = !echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"Bumped to version $(head -n 1 VERSION)\" && echo "" && echo "New status:" && echo "===========" && git statusС
echo "Enter commit message:" && read MSGчасть вдохновлена Sojan V JoseЯ хотел бы получить
if elseзаявление там, чтобы я мог получить aacv, чтобы спросить меня, хочу ли я развернуть, когда это будет сделано, и сделать это для меня, если я наберу "y", но я думаю, что я должен поместить это в свой.zshrcfile
Я использую следующий псевдоним для добавить все и совершить:
git config --global alias.ac '!git add -A && git commit -a'затем, набрав:
git acЯ получаю окно Vim, чтобы получить больше инструментов редактирования для моего коммита.
Я использую этот псевдоним git:
git config --global alias.cam '!git commit -a -m 'Итак, вместо вызова
git add -A && git commit -m "this is a great commit"просто я:
git cam "this is a great commit"
вы можете использовать git commit-am " [comment]" // лучшее решение или git add . && git commit-m " [comment]"
- тип
git add . && git commit -amи вводим- тип
historyи вводим- запомните число для приведенной выше команды, скажем, число
543- отныне для каждого типа фиксации
!543 "your comment here"т. е. восклицательный знак+число и пробел и ваш комментарий.
Comments