我最近开始对我的主分支进行一些更改以添加featureX。我创建了1个新文件,并编辑了6个其他文件。我没有做出任何改变。暂时,我想在一个单独的分支上使用featureX,并保持master不变,直到我确信featureX正常工作。
我知道在开始对featureX进行这些更改之前我应该已经启动了一个新的分支,但无论如何都要将我对主分支进行的未提交更改转换为featureX分支并将主服务器恢复为其预功能X状态?
答案 0 :(得分:4)
创建一个新分支(git checkout -b your_new_feature
)应该可以完成这项任务 - 否则,您可以尝试这样做:
git stash
git checkout -b your_new_feature
git stash apply
答案 1 :(得分:2)
您需要的是stash
远离更改,然后将其应用到其他地方:
git stash
git checkout -b other_branch
git stash apply
详情阅读git stash
here。
当我只是学习(并尝试过)时,你实际上只能结帐到你的分支机构,git会记住哪些文件被更改了。所以
git checkout -b other_branch
应该足够了。
注意:学习git stash
也很重要。在这种情况下,没有问题。但是,如果other_branch
已存在,则可能有自己的更改,因此可能存在合并冲突。在这种情况下,只需写
git checkout other_branch
可能会失败并显示如下消息:
错误:您对“其他”进行了本地更改;不能切换分支。
在这种情况下,您应该使用上述方法并在git stash apply
之后解决可能的冲突。