在Git中签出一个分支

时间:2013-08-28 21:01:23

标签: git

我有一个我的Android应用程序的Git存储库,我正在尝试进行大修,我想保留当前正在运行的版本。我已经为新开发创建了一个分支,并检查了它,但是当切换到我的新开发特定于我的新分支文件时。

我的问题是:当你签出一个不同的分支时,Git会删除当前分支中的所有本地文件,然后用新分支的本地文件替换它们吗?或者Git只是在你签出另一个分支时才修改本地文件?如果有所作为,我正在使用Windows。

2 个答案:

答案 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