git:全部撤消直到分支开始



好吧,我搞砸了,将我的更改推到了一个应该用作名为release/2.0的干净主分支的分支。因此,我承诺并推动并将所有内容合并到这个主分支。

相反,我应该从release/2.0上创建一个分支,并将我所有的工作都放在其中,并提交并将并合并到release2.0

我该如何完成?这是我的git reflog --date=iso

    22a3aed (HEAD -> member_benefits_config, origin/release/2.0, release/2.0) HEAD@{2019-07-08 13:50:12 -0500}: checkout: moving from release/2.0 to member_benefits_config
22a3aed (HEAD -> member_benefits_config, origin/release/2.0, release/2.0) HEAD@{2019-07-08 13:36:51 -0500}: pull origin release/2.0: Merge made by the 'recursive' strategy.
2da8de0 HEAD@{2019-07-08 13:35:28 -0500}: commit: Added MemberBenefits configuration
4652cf5 (origin/master, origin/HEAD, master) HEAD@{2019-07-08 13:32:22 -0500}: checkout: moving from master to release/2.0
4652cf5 (origin/master, origin/HEAD, master) HEAD@{2019-07-08 13:32:10 -0500}: reset: moving to HEAD~1
8bd42a0 HEAD@{2019-07-08 13:01:19 -0500}: commit: Added MemberBenefits step component
4652cf5 (origin/master, origin/HEAD, master) HEAD@{2019-07-01 11:24:26 -0500}: clone: from https://CortesD@bitbucket.nfib.org/scm/enga/engage-application.framework.git

我会在"主"分支上进行git reset --hard 22a3aed?或4652cf5提交我必须重置的地方,因为我的第一个拧紧。

假设release/2.0上的以下提交:

17f4e3b87 commit 5
b5fdf57ab commit 4
ad53f1aa0 commit 3
3b6864d4d commit 2
88b87878d commit 1

假设" commit 2"是您想要回到的提交。您可以执行以下操作:

# create a branch and push changes to it
(release/2.0) git checkout -b my_branch
(my_branch) git push origin my_branch

现在,在您介绍更改之前,将release/2.0重置为一个提交:

git checkout release/2.0
git reset --hard 3b6864d4d
git push origin releases/2.0 -f

最新更新