В 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 нет. А что делает?

1139   17  
git

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 add -A && git commit -m "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 / закрыть и открыть оболочка

  • вы можете сделать весь процесс с .

уверен, что вы можете использовать:

git commit -am "commit all the things"

Я делаю раковины

#!/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", но я думаю, что я должен поместить это в свой .zshrc file

Я использую следующий псевдоним для добавить все и совершить:

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]"

  1. тип git add . && git commit -am и вводим
  2. тип historyи вводим
  3. запомните число для приведенной выше команды, скажем, число 543
  4. отныне для каждого типа фиксации !543 "your comment here" т. е. восклицательный знак+число и пробел и ваш комментарий.

чтобы держать его в одной строке:

gacm "your comment"

Comments

    Ничего не найдено.