将从主节点的提交预置到分支



我开始在master上开发一个新功能,通过创建一个提交A

o -- A  (master)

在意识到我可能应该创建一个新分支之前。但是,我没有将提交A"移动"到新分支,所以现在我的存储库如下所示:

o -- A (master)
       
       B - C - D - E (feature)

幸运的是,我没有推送到远程,在 master 上o后也没有任何提交。如何将A从主分支移动到功能分支,并使我的历史如下所示:

o (master)
 
  A - B - C - D - E (feature)

由于分支只是一个指针,新提交堆叠在原始提交之上,因此您可以这样做:

首先,确保你是主人,

git checkout master

然后通过这样做将 master 指向原点(确保您没有任何未提交的更改,因为这会擦除它们):

git reset --hard HEAD~1

应该就是这样。您可以使用 git log 检查 master,然后通过执行以下操作来检查您的功能分支

git checkout feature
git log

最新更新