通常在Git文档中我会看到类似this的内容:
$ git clone john@githost:simplegit.git
Initialized empty Git repository in /home/john/simplegit/.git/
...
$ cd simplegit/
$ vim lib/simplegit.rb
$ git commit -am 'removed invalid default value'
[master 738ee87] removed invalid default value
1 files changed, 1 insertions(+), 1 deletions(-)
-a
--all告诉命令自动暂存具有的文件 已被修改和删除,但你没有告诉Git的新文件 关于不受影响。
请注意,lib/simplegit.rb
文件一旦创建就无法跟踪。是否跟踪了-a
选项?我使用 Git for Windows ,当我尝试执行类似操作时,此示例不起作用:
bushm@DESKTOP-ISD2NUH MINGW64 /d/src/sample
$ git init
Initialized empty Git repository in D:/src/sample/.git/
bushm@DESKTOP-ISD2NUH MINGW64 /d/src/sample (master)
$ vim ./text.txt
bushm@DESKTOP-ISD2NUH MINGW64 /d/src/sample (master)
$ git commit -am "First commit"
On branch master
Initial commit
Untracked files:
text.txt
nothing added to commit but untracked files present
bushm@DESKTOP-ISD2NUH MINGW64 /d/src/sample (master)
答案 0 :(得分:3)
更新:Matthieu Moy在fixed中PR #414提出了令人困惑的文档部分
这可能只是示例中的一个错误。
首先,你是对的。 -a
仅添加已修改和已删除的文件。
其次,当你克隆一个回购时,git不会说
相反,它说/home/john/simplegit/.git /
中初始化的空Git存储库
克隆到' simplegit' ...
remote:计算对象
和其他一些行。
第三,在示例中
# John's Machine
$ git clone john@githost:simplegit.git
Initialized empty Git repository in /home/john/simplegit/.git/
...
$ cd simplegit/
$ vim lib/simplegit.rb
$ git commit -am 'removed invalid default value'
[master 738ee87] removed invalid default value
1 files changed, 1 insertions(+), 1 deletions(-)
您可以看到提交消息为'removed invalid default value'
,这意味着它正在修改跟踪文件。
我认为作者只是结合了一些东西,所以他可以展示一个明确的例子。
如果他遗漏了Initialized empty Git repository in /home/john/simplegit/.git/