我能做点什么吗
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 "message"
是告诉git删除已删除文件的一种简单方法,但我通常不推荐这种一刀切的工作流程。在最佳实践中,Git提交应该是相当原子的,并且只影响少数文件。
git add .
git commit -m "message"
是添加所有新建或修改过的文件的简单方法。此外,适用于所有限定条件。上述命令不会删除未使用git rm命令删除的文件。
git add app
git commit -m "message"
是一种将所有文件从单个目录添加到索引的简单方法,在本例中是app目录。
其他回答
如果有人想为单个文件“添加并提交”,这是我的情况,我创建了下面的脚本来做到这一点:
#!/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"
我做一个壳层
#!/bin/sh
clear
git add -A
git commit -a -m "'$*'"
例如保存为git.sh,然后调用:
sh git.sh your commit message
有人说git commit -am可以做到。这将不起作用,因为它只能提交对跟踪文件的更改,但它不能添加新文件。源。
经过一番研究后,我发现没有这样的命令可以做到这一点,但是您可以在~/上编写一个脚本。bashrc,(~ /。Bash_profile或~/。zshrc取决于您的操作系统。
我将分享我使用的一个:
function gac {
if [[ $# -eq 0 ]]
then git add . && git commit
else
git add . && git commit -m "$*"
fi
}
这样你所有的更改都会被添加并提交,你只需要输入gac,系统就会提示你写提交消息
或者你可以直接输入你的提交消息gac Hello world,你所有的更改都将被添加,你的提交消息将是Hello world,注意“”没有被使用
您可以使用git别名,例如:
git config --global alias.add-commit '!git add -A && git commit'
用在
git add-commit -m 'My commit message'
EDIT:返回到ticks('),否则在Linux上shell扩展将失败。在Windows上,应该使用双引号(")来代替(在评论中指出,没有验证)。
你可以使用
git commit -am "[comment]" # best solution
or
git add . && git commit -m "[comment]"