使用Git时“-a”是什么意思?

时间:2011-07-29 18:02:12

标签: git commit

  

可能重复:
  Git commit -a question

如果我们有这个Git命令:

> git commit -a -m "abc"

-a是什么意思?

感谢。

4 个答案:

答案 0 :(得分:4)

这意味着Git会自动在提交中包含任何已修改的文件。但是,它不包括未跟踪的文件。

答案 1 :(得分:4)

它等于--all,表示所有已修改或删除的文件(阶段)都会自动提交。这不包括未暂存的文件。请参阅man

答案 2 :(得分:3)

git help commit说:

  -a, --all
       Tell the command to automatically stage files that have been modified and deleted, but new files you have not told git about are not
       affected.

答案 3 :(得分:1)

git add命令具有相似但不同的选项,可能导致混淆,例如它的-A .选项。

正如其他人所说的那样(-a)要求对您在暂存区域中已有的当前文件集进行的所有修改(包括删除)都将包含在提交中。

执行提交后,除非您使用命令或选项明确删除它们,否则文件仍在暂存区域中等待包含在下一次提交中。这是'追踪'。

如果您要包含新文件,则需要git add

我的可视化是,暂存区就像一个针板,上面有我已经完成的项目的副本(添加/更新),如果我提交,那么就会获得一个完整的针板副本。然后,Git可以区分我桌面上的内容(工作目录),我已经固定到pin board(已上演)的'已完成'的工作,以及它的最后一次提交快照。我必须记住在删除文件时需要从引脚板上取下(从暂存区域中删除)。