我能做点什么吗

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目录。

其他回答

我有这个函数在我的。bash_profile或。profile或。zprofile或任何登录shell中的来源:

function gac () {
  # Usage: gac [files] [message]
  # gac (git add commit) stages files specified by the first argument
  # and commits the changes with a message specified by the second argument.
  # Using quotes one can add multiple files at once: gac "file1 file2" "Message".
  git add $1 && git commit -m "$2"
}

只适应Ales的回答和courtsimas的评论linux bash:

要保持在一行中使用:

Git commit -am "comment"

这一行将添加并提交所有更改到存储库。

只要确保没有git还未拾取的新文件就可以了。否则你需要使用:

Git添加。; Git commit -am "message"

首先检查你有哪些别名……

git config --get-regexp alias

如果没有,你可以创建自己的(参考:https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases)

去添加

git config --global alias.a '!git add -A'

// git提交

git config --global alias.c '!git commit'

// git提交-m

git config --global alias.cm '!git commit -m'

// git添加提交

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

// git add commit -m

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

例如,如果你用最后一个…

git acm 'My commit'

要保持在一行中使用:

git add . && git commit -am "comment"

这一行将添加并提交所有更改和添加的文件到存储库。

把你的命令组合起来:

git add -A && git commit -m "comment"