我能做点什么吗
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不添加。什么?
当前回答
这回答了标题中的问题。不是描述里的问题,但我想在座的各位可能会觉得这个问题很有用。
下面的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的作品。
其他回答
我使用这个git别名:
Git配置——全局别名。凸轮”!Git提交-a -m '
所以,不是打电话
git add -A && git commit -m "this is a great commit"
我只会:
Git CAM“这是一个伟大的承诺”
git commit -am "message"
是告诉git删除已删除文件的一种简单方法,但我通常不推荐这种一刀切的工作流程。在最佳实践中,Git提交应该是相当原子的,并且只影响少数文件。
git add .
git commit -m "message"
是添加所有新建或修改过的文件的简单方法。此外,适用于所有限定条件。上述命令不会删除未使用git rm命令删除的文件。
git add app
git commit -m "message"
是一种将所有文件从单个目录添加到索引的简单方法,在本例中是app目录。
把你的命令组合起来:
git add -A && git commit -m "comment"
有人说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,注意“”没有被使用
我使用以下方法(这两种方法都在进行中,所以我会尽量记得更新):
# Add All and Commit
aac = !echo "Enter commit message:" && read MSG && echo "" && echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"$MSG\" && echo "" && echo "New status:" && echo "===========" && git status
# Add All and Commit with bumpted Version number
aacv = !echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"Bumped to version $(head -n 1 VERSION)\" && echo "" && echo "New status:" && echo "===========" && git status
呼应“Enter commit message:”&&读取MSG部分,灵感来自Sojan V Jose
我想在那里得到一个if else语句,这样我就可以让aacv问我,如果我想部署时,如果我键入'y',为我这样做,但我想我应该把它放在我的.zshrc文件