0

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

然后我创建两个分支userproduct使用:

git checkout -b user
git checkout -b product
git checkout user

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

然后我切换到master

git checkout master

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

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

4

2 回答 2

0

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

于 2013-11-07T04:00:51.717 回答
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

于 2013-11-07T04:07:37.827 回答