我有一个我的Android应用程序的Git存储库,我正在尝试进行大修,我想保留当前正在运行的版本。我已经为新开发创建了一个分支,并检查了它,但是当切换到我的新开发特定于我的新分支文件时。
我的问题是:当你签出一个不同的分支时,Git会删除当前分支中的所有本地文件,然后用新分支的本地文件替换它们吗?或者Git只是在你签出另一个分支时才修改本地文件?如果有所作为,我正在使用Windows。
答案 0 :(得分:1)
您必须在当前已检出的分支中添加并提交存储库中的所有新文件,以便在切换到另一个分支时不显示它们。
原因是Git忽略了尚未添加到其索引中的文件,并在切换分支时悄悄地将它们留在原位,以免错误地删除它们。
答案 1 :(得分:1)
如果您的工作目录是脏的并且您不想仅提交更改分支,则可以在切换之前使用git stash
。
类似的东西:
git stash save "cool new feature; not ready for prime time"
所有内容都安全地存储在您的存储堆栈中(您可以存储多组更改),并且您的工作目录是干净的。
当您稍后切换回新的在制品分支时,您可以
git pop
并且你回到原来的位置,假设你没有藏匿其他任何东西。
Git * Pro书籍的第6.3节有more on the subject。