【发布时间】:2019-07-07 08:57:54
【问题描述】:
我已经阅读了官方 git checkout 文档和一些问题,但没有找到我所看到的行为的答案。
在本地,我有一个开发分支。在 dev 分支中,我创建了一个新的功能分支
git checkout -b myBranch
然后,我添加一个新文件
echo foo > myFile.txt
如果我立即返回 dev 分支
git checkout dev
myFile.txt 已经存在,即使
1) 我没有暂存文件 2) 我没有合并分支
我的期望是我在功能分支中对文件所做的任何更改都不会传播到其他分支。
为什么会这样?
【问题讨论】:
-
如果您没有
commit或stash更改,那么更改将转到您签出的分支 -
我确认这是预期的行为,谢谢@SajibKhan
-
要添加到前两个 cmets,
myFile.txt也不在分支dev中,它只是在您的沙箱中,未跟踪。即使是git reset --hard也不会触及未跟踪的文件。我知道的唯一涉及未跟踪文件的命令是git stash --include-untracked。 -
@phd 这不是真正正确的副本,但我找不到一个好的。
标签: git git-checkout