Git隐藏的变化适用于新的分支?

我在主分支上工作,做了一些更改,然后将它们隐藏起来。现在,我的主人在HEAD。

但是现在,我想检索这些更改,但是要从主分支的HEAD版本分支到一个新分支。

我该怎么做呢?

300408 次浏览

标准程序不管用吗?

  • 做出改变
  • git stash save
  • git branch xxx HEAD
  • git checkout xxx
  • git stash pop

短:

  • 做出改变
  • git stash
  • git checkout -b xxx
  • git stash pop

既然你已经存储了你的更改,你所需要的就是这一行代码:

  • git stash branch <branchname> [<stash>]

从docs (https://www.kernel.org/pub/software/scm/git/docs/git-stash.html):

创建并签出名为<branchname>从<>最初创建,应用在<>到新的工作树和索引。如果成功,<>是一个格式为stash@{<修订>}的引用,然后删除<>没有<>,应用最新的一个。

如果运行git stash save的分支已经发生了足够大的变化,导致git stash应用由于冲突而失败,这是非常有用的。因为这个隐藏是在git隐藏运行时的HEAD提交上应用的,所以它会恢复最初的隐藏状态,没有冲突。

如果你在你的工作空间中有一些变化,你想把它们隐藏到一个新的分支中,使用这个命令:

git stash branch branchName

它将使:

  1. 一个新的分支(从最初创建存储的提交开始)
  2. 将更改移动到该分支
  3. 并删除最新的stash(如:git stash pop)

运行此命令后,您将希望git add更改并提交它们。