我在主分支上工作,做了一些修改,然后把它们藏起来。现在,我的主在HEAD。但是现在,我想检索这些更改,但是要检索到一个新的分支,该分支来自主分支的HEAD版本。我该怎么做?
sc4hvdpw1#
通常的标准程序是:
git branch xxx HEAD
git checkout xxx
git stash pop
较短:
git stash
git checkout -b xxx
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状态,不会发生冲突。
rt4zxlrg3#
如果你的工作区有一些变化,你想把它们藏到一个新的分支中,使用这个命令:
git stash branch branchName
字符串它将使:1.一个新的分支(从最初创建stash的提交开始)1.将更改移动到此分支1.并删除最新的stash(类似于:git stash pop)运行此命令后,您将需要git add更改并提交它们。
git add
3条答案
按热度按时间sc4hvdpw1#
通常的标准程序是:
git branch xxx HEAD
个git checkout xxx
个git stash pop
个较短:
git stash
个git checkout -b xxx
个git stash pop
个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状态,不会发生冲突。
rt4zxlrg3#
如果你的工作区有一些变化,你想把它们藏到一个新的分支中,使用这个命令:
字符串
它将使:
1.一个新的分支(从最初创建stash的提交开始)
1.将更改移动到此分支
1.并删除最新的stash(类似于:git stash pop)
运行此命令后,您将需要
git add
更改并提交它们。