我想我在git工作流程方面犯了一个错误。我做了以下工作:
- 从开发分支分支到分支foo
- 创建了一个拉取请求 ->将foo合并到开发中 ->foo分支自动删除
- 继续在当地开发FooBranch
- 想要从开发(尚未拉取(分支到新分支,但保留我正在处理的代码
我没有犯什么,也没有拉任何东西。
我怎样才能解决这个困境?
据我了解,您尚未在本地拉动开发分支。在这种情况下,您可以通过执行 git checkout 切换到开发分支。
git checkout develop
如果您所做的本地更改与开发分支中的更改不冲突,则结帐将很顺利。
如果存在冲突的更改,则签出将失败。在这种情况下,您将需要存储本地更改,然后将它们重新弹出到以后所需的任何分支上。
- 存储当前更改
git stash
- 切换到开发和创建新分支(我假设你想这样做(
git checkout develop
git checkout -b your-new-branch
- 弹出此分支上的更改
git stash pop
你可能会再次发生冲突。您可以解决,添加并提交以将其标记为已解决。
关于你的困惑。不必担心本地分支被从远程中删除。
即使删除了远程分支,该分支仍存在于本地存储库中。相反,给定 git 是分布式 VCS,每个存储库都可以在没有远程存在的情况下存在,并且其分支和提交将一直存在,直到本地删除。
您可以避免顶部的所有复杂过程,只需执行 git checkout,它将从您当前的提交创建一个分支,而不会给您带来任何冲突。
在当前分支上时,从远程中删除。
git checkout -b your-new-branch