当我创建一个分支时,我意外地从一个实验分支创建了它,我不希望任何这些更改提交到我们的SVN存储库。我创建的分支已经合并到master中,旧分支被丢弃了。我刚刚在运行git svn dcommit之前意识到我要提交的内容。
如何从原始分支提交单个提交?我已经在git log中单独列出了它。
答案 0 :(得分:0)
如果您遇到类似情况:
x--x--x--x--x1--------m--y--y (master) \ / \ / -o--o--o--z--z (deleted)
你可以:
tmp
分支,标记m
并重置为x1 git reflog
获取已删除分支“br”的HEAD并在其上创建分支“br”,并标记o1(在实验提交之前最新的“旧”提交)[tagM] -m--y--y (tmp) / / x--x--x--x--x1 (master) \ \ -o--o--o1--z--z (br) [tagO]
[tagM] -m--y--y (tmp) / / x--x--x--x------x1 (master) \ \ \ \ -o--o--o1 z--z (br) [tagO]
git checkout master && git merge br
[tagM] -m--y--y (tmp) / / x--x--x--x------x1--------m2 (master) \ \ / \ \ / -o--o--o1 z'--z' (br) [tagO]
master
之上的初始合并以来完成的其他提交。[tagM] -m / / x--x--x--x------x1--------m2--y'--y' (master,tmp) \ \ / \ \ / -o--o--o1 z'--z' (br) [tagO]
git checkout tmp && git rebase --onto master tagM && git merge master