我一直在研究progit一书,无意中发现了“reset demystified”主题下的这一段:
切换分支或克隆也要经历类似的过程。当您签出分支时,它会将head更改为指向新的分支引用,用该提交的快照填充索引,然后将索引的内容复制到工作目录中。
但是,正如您在下面的终端输出中看到的,我无法复制该行为。
GaurangTandon@Gaurang MINGW64 /j/test (master)
$ git status
On branch master
nothing to commit, working tree clean
GaurangTandon@Gaurang MINGW64 /j/test (master)
$ touch a.txt
GaurangTandon@Gaurang MINGW64 /j/test (master)
$ git checkout -b "dev"
Switched to a new branch 'dev'
GaurangTandon@Gaurang MINGW64 /j/test (dev)
$ git status
On branch dev
Untracked files:
(use "git add <file>..." to include in what will be committed)
a.txt
nothing added to commit but untracked files present (use "git add" to track)
据我所知,根据我对那一段的解释:在我退房后
新的分支
dev
,git应该用提交的快照填充索引。
master
是在
开发
和
主人
指向相同的提交,正如我在
Visualizing Git
)中。该提交不应该有该文件
a.txt
,因为它是在提交之后创建的。另外,我的工作目录应该与索引具有相同的内容,即没有文件
文本
是的。
然而,正如您在上面的输出中看到的,我的工作目录碰巧有
文本
,它由
git status
是的。
我想知道我在解释这段话时犯了什么错误。