【发布时间】:2018-05-08 08:35:48
【问题描述】:
我执行以下命令序列:
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”回到“master”后,我确实看到了我在“dev”中所做的更改?在我添加、提交并将它们合并回 master 之前,它们不应该留在 dev 中吗?
【问题讨论】:
-
在工作树中进行了更改。
git add将更改暂存到索引中。git commit将索引中所有跟踪文件的快照作为提交。分支是指向提交的 ref。在您的情况下,更改仍在工作树中。分支还不知道他们。
标签: git git-commit git-add