我观察的东西与我对git checkout命令的了解不一致.在除了以外的分支上master,我对跟踪文件进行了一些修改; 没有暂存和提交这些更改,我跑了
git checkout master
Run Code Online (Sandbox Code Playgroud)
Git遵守规定,不打击眼睑; 但更令人惊讶的是,我在该分支上所做的所有修改仍然存在!这是一个复制情况的例子:
mkdir myrepo
cd myrepo
git init
touch README # create a new file
git add .
git commit -m "initial commit"
git checkout -b new-branch
echo "foo" >> README
git checkout master
Run Code Online (Sandbox Code Playgroud)
在这个阶段,README我的工作树中的文件包含该foo行,即使我在另一个分支(new-branch)上添加它.我期待README是空的,就像在笔尖中记录的版本一样master.foo退房后为什么线路还在那里master?