我能做点什么吗
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 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 "Your commit message"
我不明白我们为什么要搞得这么复杂。
其他回答
我使用以下别名添加所有并提交:
git config --global alias.ac '!git add -A && git commit -a'
然后,输入:
git ac
我得到了一个vim窗口来为我的提交消息获得更多的编辑工具。
如果你输入:
git config --global alias.a '!git add -A && git commit -m'
一次,你只需要打字
git a
每一次:
git a 'your comment'
这回答了标题中的问题。不是描述里的问题,但我想在座的各位可能会觉得这个问题很有用。
下面的bash脚本在一个命令中添加并提交文件。它不添加所有的文件,它只是添加您在命令行上指定的文件。如果命令行上没有指定任何文件,可以很容易地将其修改为添加所有文件。然而,这对我来说似乎有点危险,所以我没有这么做。
#!/bin/bash
if [[ $# -lt 2 ]]
then
echo "Usage: $(basename $0) FILENAME+ \"COMMIT_MESSAGE\""
echo
echo 'Shorthand for "git add FILENAME_0 FILENAME_1 .. FILENAME_n && git commit -m "COMMIT MESSAGE".'
echo 'You must specify at least one filename, and supply one single commit message.'
echo
else
git add ${*: 1: $#-1} && git commit -m "${*: -1}"
fi
将它保存在一个名为gac的文件中,然后像这样使用它
gac file_a file_b file_c "adding three files because.. reasons"
在这个帖子中引用@LuisEnMarroquin的作品。
如果有人想为单个文件“添加并提交”,这是我的情况,我创建了下面的脚本来做到这一点:
#!/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"
我希望这能帮助到一些人,请随意编辑或改进。我不知道最快的方法是什么,但这确实简化了我的代码提交过程使用“ohmyzsh”Git。
https://ohmyz.sh/
Git添加。缩写为ga。 Git commit -m "message"缩写为gc -m "message" Git push被缩短为gp Git取回被缩短为gf Git拉源master缩短为GGL master Git push origin master被缩短为GGP master Git checkout -b缩写为GCB Git merge缩写为gm Git remote缩写为gr Git状态缩短为GST