我的问题是:
我在分支主机上工作了一个新功能,因为我忘了创建分支.
现在,我创建分支e使用:
git stash
git checkout new_branch;
git stash apply
Run Code Online (Sandbox Code Playgroud)
但是,当我回到master分支机构时,这些未提交和未跟踪的文件会留在master.
为什么?
正确的是add文件并在新分支中提交,或者我可以保持这种不受欢迎/未跟踪?
未提交/未跟踪文件是不是在任何分支.他们没有跟踪.你所看到的是git努力不破坏工作目录中无法恢复的任何东西.因此,当你切换分支时,它根本不对未跟踪的文件做任何事情 - 它只是将它们留在那里.它们仍将在新分支中显示为未跟踪,就像它们在旧分支中所做的那样.
需要注意的是,从特定文件未跟踪的分支切换到跟踪该文件的分支,并且工作目录中的文件版本与要检出的文件的版本不匹配.在这种情况下,git会对你大喊大叫并拒绝检查新分支,因为检出该文件会丢失你的数据.git checkout -f如果你真的想要,可以覆盖它.如果您从跟踪文件的分支切换,但您尚未提交尚未提交的更改,并且新分支不跟踪该文件,则会出现类似情况.