Добавление Git-коммита в bash_profile с приглашением?

#git #unix #terminal

#git #unix #терминал

Вопрос:

Мне нужны псевдонимы для:

 git add --a
git commit -m ""
git push origin master
git pull origin master
  

Я сделал их все, за исключением того, как мне заставить терминал запрашивать сообщение о фиксации, а затем сохранять его?

Итак:

 commit
"What's your commit message"
added footer <enter>
git commit -m "added footer"
  

Возможно ли это сделать?

Я попытался выполнить переменную printf и read , а затем вставить ее с $variable помощью, но это не сработало.

Комментарии:

1. Знаете ли вы, что если вы просто это сделаете git commit , вы попадете в редактор сообщений о фиксации? Вам не нужно делать git commit -m .

Ответ №1:

Используйте функции вместо псевдонимов:

 #!/usr/bin/env bash

commit(){
    echo "What's your commit message?"
    read msg
    git commit -m "$msg"
}
  

Ответ №2:

Вы можете сделать это с помощью функции вместо одного псевдонима:

 commit () {
    echo "What's your commit message?"
    read a
    git commit -m $a
}
  

Хотя, даже в этом случае вы не сможете иметь коммиты длиннее строки. Если вы хотите чего-то большего (и рекомендуется это сделать), вам следует открыть редактор с временным файлом и использовать его.

Ответ №3:

Это то, что я лично использую в своем файле .bash_profile:

 commit(){
  git commit -m "$*"
}
alias gc=commit
  

Просто и мило.

 $ gc This is a really long commit message