我执行以下命令序列:
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”中所做的更改?在我添加、提交并将它们 merge 回 master 之前,它们不应该留在 dev 中吗?
最佳答案
当您在不同分支之间移动时,所有未跟踪的文件都不会受到影响。因为它们属于您的文件系统,所以 GIT 不知道这些文件属于哪个分支。因此,当您提交这些文件时,GIT 会知道哪些文件属于哪个分支。并可以根据您的分支在工作区中删除或添加文件。
关于git - 为什么一个分支的更改在另一个分支中可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47471400/