提交的Git文件在推送之前从一个分支移动到另一个分支

6

不幸的是,我已经在一个分支中提交了几个文件,但是我的意图是将这些文件提交到另一个新分支中。 我现在还没有将该文件推送到该分支中。

那么请告诉我如何将已提交的文件移动到我的新分支中?

任何建议都将不胜感激。


感谢您宝贵的帮助。我从https://dev59.com/o3A85IYBdhLWcg3wF_m0得到了答案。 - Jigar Pancholi
3个回答

2
您可以使用git reset --soft HEAD^取消提交文件,并使用git stash隐藏您的更改。然后,您可以使用git checkout your-target-branch检查您更改的正确目标分支,在此时,您可以使用git stash pop获取您隐藏的更改,从而允许您在正确的分支中添加/提交/推送更改。请保留HTML标签。

0

你可以在新提交的地方创建一个新分支:

git checkout -b aNewBranch

x--X--y--y (aBranch, newBranch)

你可以将你所在的分支重置回正确的提交记录(执行{{link1:git log}}以获取正确的SHA1,它实际上可能是origin/aBanch,因为你还没有推送它)

git branch -f aBranch <sha1>

x--X (aBranch)
    \
     --y--y (newBranch)

0
假设当前分支为A。从此分支创建一个新的分支。
git checkout A
git branch B

现在分支 B 包含了你在分支 A 中已经提交的更改。剩下要做的就是从分支 A 中移除这些更改。可以按照以下步骤完成:

git reflog

这将为您提供存储库经历的所有更改列表。选择要将分支A还原到的HEAD值。
git reset --hard HEAD<i>

这将会实现你想要做的事情。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接