Git在一个_native git_命令中添加并提交所有文件?

时间:2015-04-09 08:26:05

标签: git version-control git-commit git-add

最常见的Git命令序列是:

git add .
git commit -m "Message"

我已经搜索了一个本机Git命令来执行一行,但令人惊讶的是找不到它。至少有两个大问题涉及这个问题HEREHERE,但令人惊讶的是,他们有很高的投票答案没有完成工作或使用额外的黑客。

上面链接的第一个帖子中的最高投票解决方案建议定义一个宏

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

它的缺点是必须一次又一次地为每个新的软件环境做这件事。第二个投票解决方案

git commit -a -m "message"

不起作用 - 它不会添加新文件!其他“解决方案”涉及在一行中编写相同的两个命令 - 这在打字方面没有任何优势!

此外,Pro Git - 第22页上的一本着名书籍:

  

2.2.7跳过临时区域

     

虽然按照你想要的方式制作提交可能会非常有用,   暂存区域有时比工作流程中的需要复杂一些。如果   你想跳过暂存区,Git提供了一个简单的快捷方式。提供-a   git commit命令的选项使Git自动暂存每个文件   在进行提交之前已经跟踪,让你跳过git add part ...

重点是我的 - 这确实只适用于已经跟踪的文件。但是你的新文件从未被跟踪过(或者我可以更改设置以进行跟踪吗?),因此您无法使用该命令添加和提交!

我正在寻找一个干净的单行解决方案由标准git软件提供,而不需要额外的黑客攻击。鉴于Git的许多丰富的高级选项,很难相信这样的命令不存在。如果我在这里缺少任何东西,我将很乐意学习!

1 个答案:

答案 0 :(得分:2)

据我所知,没有一个本地命令,你已经链接到的问题似乎支持这种观点。可能是因为它有可能导致问题,尽管你自己可能有充分的理由想要以这种方式工作。

然而,你可以调整你已经提到过的一个命令:

git config --system alias.add-commit '!git add -A && git commit'

- system 替换 - global 将一次性为一台计算机上的每个帐户配置别名。您当然需要使用有权写入 / etc 中的系统 gitconfig 文件的帐户运行上述命令

不是完美的答案,但它可能让你更接近你想要的,至少从实际的角度来看。