我执行以下命令序列:
git init rep
cd rep/
echo '111' > 1.txt
git add 1.txt
git commit -m '1'
git checkout -b dev
echo '222' > 1.txt
git checkout master
more 1.txt
由于这些命令,我看到了以下结果
222
我不明白为什么。你可以看到我创建并进入了“dev”分支。我在那里做了一些更改,但我没有添加或提交它们。为什么在从“dev”回到“master”后,我可以看到我在“dev”中所做的更改呢?难道它们不应该留在“dev”中,直到我将它们添加、提交并合并回到“master”中吗?
git add
将更改提交到索引中。git commit
将索引中所有跟踪文件的快照作为提交。分支是指向提交的引用。在您的情况下,更改仍然在工作树中。分支还不知道它们。 - ElpieKay