bashrc 함수, git commit -m(공백 포함)

bashrc 함수, git commit -m(공백 포함)

현재 나는 이것을 가지고 있고 이렇게 사용하면 예상대로 작동 addcommit 'test commit'하지만 그대로 사용하면 addcommit test commit첫 번째 단어만 보입니다 test. 이상적으로는 그 기능을 갖고 addcommit test commit실행하고 싶습니다.git add . && git commit -m 'test commit'

addcommit()
{   
    git add . && git commit -m "$1"
}

추신. 이 경우 어떻게 작동하는지 이해할 수 없습니다 "$1". 아마도 이것이 어떻게 작동해야 하는지 이해하는 좋은 출발점이 될 것입니다.

답변1

"$1"사용. . . 교체 "$*".

IFS함정을 완전히 피하려면 :

addcommit()
{
   local IFS=' '
   git add . && git commit -m "$*"
}

이 경우 별칭은 커밋 메시지에 모든 문자를 포함하는 데 도움이 될 수 있습니다.

alias addcommit='_m=$(fc -nl -0); git add . && git commit -m "${_m#*addcommit }" #'

addcommit $foo * $bar
# will use the literal "$foo * $bar" message, without expanding it

(bash 및 ksh93에서 작동)

관련 정보