我们刚刚发现了这个问题,我们中的一些人正在复制这种行为。我们怀疑我们错过了一些争论,但我们真的不知道该怎么做。
当我们分支然后在分支中创建一个新文件时,它会显示在主文件中。
我们运行此代码来复制问题:
mkdir test ; cd test ; git init ; touch test1 ; git add test1 ; git commit -m "test 1" ; git branch new ; git checkout new ; touch test2 ; git checkout master
这是我运行时的结果:
Mikes-MacBook-Pro:Desktop mikeghen$ mkdir test ; cd test ; git init ; touch test1 ; git add test1 ; git commit -m "test 1" ; git branch new ; git checkout new ; touch test2 ; git checkout master
Initialized empty Git repository in /Users/mikeghen/Desktop/test/.git/
[master (root-commit) 231a738] test 1
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test1
Switched to branch 'new'
Switched to branch 'master'
Mikes-MacBook-Pro:test mikeghen$ ls
test1 test2
让我知道是否有人知道为什么会发生这种情况以及如何解决它。
答案 0 :(得分:1)
切换分支时不会丢弃未提交的更改。如果要放弃本地更改,请将它们存储(供以后使用):
git stash changes
或重置工作目录:
git reset --hard HEAD
您可以在this博文中了解更多相关信息。