我能做点什么吗

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不添加。什么?


当前回答

很确定你可以用:

git commit -am "commit all the things"

其他回答

如果你输入:

git config --global alias.a '!git add -A && git commit -m'

一次,你只需要打字

git a

每一次:

git a 'your comment'

最简单的方法是:

git commit -am "Your commit message"

我不明白我们为什么要搞得这么复杂。

很确定你可以用:

git commit -am "commit all the things"

您可以使用git别名,例如:

git config --global alias.add-commit '!git add -A && git commit'

用在

git add-commit -m 'My commit message'

EDIT:返回到ticks('),否则在Linux上shell扩展将失败。在Windows上,应该使用双引号(")来代替(在评论中指出,没有验证)。

如果有人想为单个文件“添加并提交”,这是我的情况,我创建了下面的脚本来做到这一点:

#!/bin/bash

function usage {
    echo "Usage: $(basename $0) <filename> <commit_message>"    
}

function die {
    declare MSG="$@"
    echo -e "$0: Error: $MSG">&2
    exit 1
}

(( "$#" == 2 )) || die "Wrong arguments.\n\n$(usage)"

FILE=$1
COMMIT_MESSAGE=$2

[ -f $FILE ] || die "File $FILE does not exist"

echo -n adding $FILE to git...
git add $FILE || die "git add $FILE has failed."
echo done

echo "commiting $file to git..."
git commit -m "$COMMIT_MESSAGE" || die "git commit has failed."

exit 0

我将其命名为“gitfile.sh”并将其添加到我的$PATH中。然后我可以在一个命令中运行git add并提交单个文件:

gitfile.sh /path/to/file "MY COMMIT MESSAGE"