最常见的Git命令序列是:
git add .
git commit -m "Message"
我已经搜索了一个本机Git命令来执行一行,但令人惊讶的是找不到它。至少有两个大问题涉及这个问题HERE和HERE,但令人惊讶的是,他们有很高的投票答案没有完成工作或使用额外的黑客。
上面链接的第一个帖子中的最高投票解决方案建议定义一个宏
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的许多丰富的高级选项,很难相信这样的命令不存在。如果我在这里缺少任何东西,我将很乐意学习!
答案 0 :(得分:2)
据我所知,没有一个本地命令,你已经链接到的问题似乎支持这种观点。可能是因为它有可能导致问题,尽管你自己可能有充分的理由想要以这种方式工作。
然而,你可以调整你已经提到过的一个命令:
git config --system alias.add-commit '!git add -A && git commit'
用 - system 替换 - global 将一次性为一台计算机上的每个帐户配置别名。您当然需要使用有权写入 / etc 中的系统 gitconfig 文件的帐户运行上述命令
不是完美的答案,但它可能让你更接近你想要的,至少从实际的角度来看。