不幸的是我在一个分支中提交了几个文件,但我的意图是在其他新分支中提交这些文件。到目前为止,我还没有在该分支中推送该文件。 那么请告诉我如何在我的新分支中移动提交的文件?
任何建议都将受到赞赏。
答案 0 :(得分:1)
您可以使用git reset --soft HEAD^
取消对文件的提交,然后使用git stash
隐藏更改。然后,您可以使用git checkout your-target-branch
检查更改的正确目标分支,然后您可以git stash pop
进行隐藏更改,并允许您添加/提交/推送正确的分支。
答案 1 :(得分:0)
您可以在新提交的位置创建新分支:
git checkout -b aNewBranch
x--X--y--y (aBranch, newBranch)
你可以重置你回到正确提交的分支(执行git log
以获得正确的SHA1,它实际上可能是origin/aBanch
,因为你还没推送它)
git branch -f aBranch <sha1>
x--X (aBranch)
\
--y--y (newBranch)
答案 2 :(得分:0)
假设当前分支是A.从该分支创建一个新分支。
git checkout A
git branch B
现在分支B包含您在分支A中提交的更改。剩下要做的就是从分支A中删除更改。这可以按如下方式完成:
git reflog
这将为您提供repo经历的所有更改的列表。选择要将分支A还原到的HEAD值。
git reset --hard HEAD<i>
这将做你想做的事。