回滚两个提交.重新应用第二次提交.分支并应用第一次提交



在我的项目中,我最近做了两次提交。提交在不同的文件集上。我还远程推送了这些提交。如下所示-

git commit file-a file-b -m "first commit of new features"
git commit file-c file-d -m "second commit of new features"
git push -u origin master

我想做以下事情-

  1. 回滚主服务器到第一次提交之前,然后应用第二次提交。
  2. 此时创建一个特性分支并应用第二次提交(它也应该有第一次提交)。

这是否可以用一种简单的方式实现?我想过用git diff创建和使用补丁文件,但我想我会先检查一下是否有更好的方法。

在这里创建一个特性分支,并应用第二次提交(它也应该有第一次提交)。

简单地在你的master当前所在的位置创建一个功能分支:

git branch feature_branch

回滚到第一次提交之前,然后只应用第二次提交。

git reset --hard @~2

在特性分支上重新排序提交

git checkout feature_branch
git rebase -i master
# switch second and first commit order

然后将master重置为feature_branch~1(这是第二次提交)

git checkout master
git reset --hard feature_branch~1

最后,按下

git push --force origin master
git push -u origin feature_branch

相关内容

  • 没有找到相关文章

最新更新