是否可以在单个内置命令行命令中跳过暂存区域并(也)将未跟踪的新文件提交到 git?如果没有,有什么替代方案?
http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository
为 git commit 命令提供 -a 选项会使 Git 在执行提交之前自动暂存已跟踪的每个文件,让您跳过 git add 部分:
$ git commit -a -m 'added new benchmarks'
谢谢。
是否可以在单个内置命令行命令中跳过暂存区域并(也)将未跟踪的新文件提交到 git?如果没有,有什么替代方案?
http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository
为 git commit 命令提供 -a 选项会使 Git 在执行提交之前自动暂存已跟踪的每个文件,让您跳过 git add 部分:
$ git commit -a -m 'added new benchmarks'
谢谢。
使用单个内置命令行命令?不。
使用两个命令:
git add -A
git commit
使用自定义别名:
将此添加到.gitconfig:
[alias]
commituntracked = "!git add -A; git commit"
然后你可以做
git commituntracked
这对大师来说似乎很微不足道,但对我来说是一个小启示(我承认) - 至少我现在才第一次使用它并且它可以工作(没有自定义别名):只需使用分号就可以;
了作为单线:
git add --all; git commit -m "some informative commit message"
是的。至少有两种主要的方法可以做到这一点。首先,您不必使用“the”暂存区,您可以拥有任意数量的暂存区——随心所欲地设置GIT_INDEX_FILE=/path/to/private/index
和执行;其次,您可以直接自己构建提交。它甚至不难。
Git 的存储库核心处理 blob、树和提交对象(这里也不太相关,注释和注释标签)。转储对象的 git 命令是git cat-file -p
.
一个blob只是一个bag-o-bits。使用 向存储库添加一个git hash-object -w
filename
,它将打印该文件中 blob 的 ~true name~ 并将 blob 添加到存储库。树将对象与文件系统名称联系起来。git mktree
使用;将一个添加到存储库 要查看要喂它什么,请使用 eg 打印一棵树git cat-file -p HEAD^{tree}
。添加一个提交到存储库git commit-tree
,基本上,你说,设置一些环境变量,并在标准输入上提供一个提交消息。git commit-tree -p
mom
-p
dad sometree
这就是真正需要的。如果您想进一步使用树和分段进行切片和切块read-tree
并且write-tree
可能非常有用,如果这对您很有吸引力,那么git 核心教程是一个很好的概述。
使用下面的命令跳过暂存区域并直接从工作目录提交。
git commit -a
请注意,您仍然需要添加新的未跟踪文件。