将更改的文件移动到另一个分支办理登机手续
这经常发生在我身上:我写了一些代码,去检查我的更改,然后意识到我没有在适当的分支来检查这些更改。 但是,我不能切换到另一个分支没有我的变化恢复。 有没有办法将更改移动到另一个分支进行检查?
git stash
是你的朋友。
如果你还没有提交,只需运行git stash
。 这将节省您的所有更改。
切换到您想要更改的分支并运行git stash pop
。
git存储有很多用途。 这当然是更有用的原因之一。
一个例子:
# work on some code git stash git checkout correct-branch git stash pop
如果你还没有提交你的修改 ,只要使用git checkout
移动到新的分支,然后正常提交它们 – 直到提交它们,对文件的修改才会被绑定到特定的分支上。
如果您已经提交了更改:
- input
git log
并记住你想移动的提交的SHA。 - 查看你想要提交的分支。
- 键入
git cherry-pick SHA
代替上面的SHA。 - 切换回您的原始分支。
- 使用
git reset HEAD~1
在错误分支提交之前重置。
cherry-pick
采取给定的提交,并将其应用到当前签出的头,从而允许您将提交复制到一个新的分支。
如果您想将更改移动到新的分支 ,则只能使用两个命令完成:
git stash git stash branch new-branch
根据git存储文件 :
分行
<branchname> [<stash>]
从最初创build
<stash>
的提交开始创build并签<branchname>
为<branchname>
的新分支,将logging的更改应用于新的工作树和索引。