git stash的修改会应用到新的分支吗?

83qze16e  于 12个月前  发布在  Git
关注(0)|答案(3)|浏览(143)

我在主分支上工作,做了一些修改,然后把它们藏起来。现在,我的主在HEAD。
但是现在,我想检索这些更改,但是要检索到一个新的分支,该分支来自主分支的HEAD版本。
我该怎么做?

sc4hvdpw

sc4hvdpw1#

通常的标准程序是:

  • 进行更改
  • 第一个月
  • git branch xxx HEAD
  • git checkout xxx
  • git stash pop

较短:

  • 进行更改
  • git stash
  • git checkout -b xxx
  • git stash pop
ufj5ltwl

ufj5ltwl2#

由于您已经隐藏了更改,因此您所需要的只是以下一行代码:

  • 第一个月

从文档(https://www.kernel.org/pub/software/scm/git/docs/git-stash.html):
从最初创建<stash>的提交开始,创建并 checkout 一个名为<branchname>的新分支,将<stash>中记录的更改应用于新的工作树和索引。如果成功,并且<stash>是stash@{<revision>}形式的引用,则删除<stash>。如果没有给出<* stash *>,则应用最新的一个。
如果运行git stash保存的分支发生了足够大的变化,导致git stash apply由于冲突而失败,这一点很有用。由于在运行git stash时,stash是在HEAD提交之上应用的,因此它会恢复原始的stashed状态,不会发生冲突。

rt4zxlrg

rt4zxlrg3#

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

git stash branch branchName

字符串
它将使:
1.一个新的分支(从最初创建stash的提交开始)
1.将更改移动到此分支
1.并删除最新的stash(类似于:git stash pop)
运行此命令后,您将需要git add更改并提交它们。

相关问题