如何在 git 中从已删除的分支分支

  • 本文关键字:分支 删除 git git branch
  • 更新时间 :
  • 英文 :


我想我在git工作流程方面犯了一个错误。我做了以下工作:

  1. 开发分支分支到分支foo
  2. 创建了一个拉取请求 ->将foo合并到开发中 ->foo分支自动删除
  3. 继续在当地开发FooBranch
  4. 想要从开发(尚未拉取(分支到新分支,但保留我正在处理的代码

我没有犯什么,也没有拉任何东西。

我怎样才能解决这个困境?

据我了解,您尚未在本地拉动开发分支。在这种情况下,您可以通过执行 git checkout 切换到开发分支。

git checkout develop

如果您所做的本地更改与开发分支中的更改不冲突,则结帐将很顺利。

如果存在冲突的更改,则签出将失败。在这种情况下,您将需要存储本地更改,然后将它们重新弹出到以后所需的任何分支上。

  1. 存储当前更改
git stash 
  1. 切换到开发和创建新分支(我假设你想这样做(
git checkout develop
git checkout -b your-new-branch
  1. 弹出此分支上的更改
git stash pop

你可能会再次发生冲突。您可以解决,添加并提交以将其标记为已解决。


关于你的困惑。不必担心本地分支被从远程中删除。

即使删除了远程分支,该分支仍存在于本地存储库中。相反,给定 git 是分布式 VCS,每个存储库都可以在没有远程存在的情况下存在,并且其分支和提交将一直存在,直到本地删除。

您可以避免顶部的所有复杂过程,只需执行 git checkout,它将从您当前的提交创建一个分支,而不会给您带来任何冲突。

在当前分支上时,从远程中删除。

git checkout -b your-new-branch

最新更新