没有修改就可以git切换分支

时间:2013-11-07 03:50:16

标签: git

我有一个已经完成基本模型的项目(在master),然后我提交了它们。

然后我使用:

创建两个分支userproduct
git checkout -b user
git checkout -b product
git checkout user

然后我在user分支中添加代码,但我发现我必须对基本模型进行一些更改。

然后我切换到master

git checkout master

但我发现我在user分支中所做的修改现在在工作目录中可见。

如何避免这种情况?由于change to master and modification将是频率。

2 个答案:

答案 0 :(得分:0)

查看git stash命令。您可以将您的工作存储在用户分支上,然后检查主分支并进行处理。在提交到主分支后,请检查用户分支。 git stash pop将恢复用户分支的先前状态。你可以隐藏多个分支的状态,但它可能会让人感到困惑。

答案 1 :(得分:0)

git checkout 要准备工作,请通过更新工作树中的索引和文件,并将HEAD指向分支来切换到它。

  

保留对工作树中文件的本地修改,以便   他们可以致力于。

来源:https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html

作为解决方案,您可以使用git stash,也可以使用git commit - 当您返回原始分支时,执行软重置git reset --soft HEAD^回滚上次提交并且不会删除文件

  

- soft根本不触摸索引文件或工作树(但是将头重置为,就像所有模式一样)。这留下了所有   你改变的文件“要提交的更改”,就像git status所说的那样   它

https://www.kernel.org/pub/software/scm/git/docs/git-reset.html