如何回滚并从回滚点创建新分支



我有这样的git项目下面

% git --log
commit 39b6b1d894d0788fdfc09947e1a5f88bf962b142 (HEAD -> master, origin/master, origin/HEAD)
Author: whitebear man <whitebear@whitebearnoMacBook-Air.local>
Date:   Wed Nov 9 15:29:13 2022 +0900
all
commit 2656df9fb80b5085b4e7a50032712b13e3c407c9
Author: whitebear man <whitebear@whitebearnoMacBook-Air.local>
Date:   Thu Oct 13 13:48:36 2022 +0900
all
commit d72472d00c649fdc04805d10c856d729e114a014
Author: whitebear man <whitebear@whitebearnoMacBook-Air.local>
Date:   Wed Oct 12 18:23:28 2022 +0900
all
commit 0878cd86de3a939e8c99e33676abcfe1cfd14daa
Author: whitebear man <whitebear@whitebearnoMacBook-Air.local>
Date:   Tue Oct 11 11:38:58 2022 +0900
all
commit 21c78ba8cfb811e1ad7dfb035ef5236e619f5d53
Author: whitebear man <whitebear@whitebearnoMacBook-Air.local>
Date:   Mon Oct 10 15:55:48 2022 +0900
all
commit 9568b4b53fd14febc1ed100efcc6d412d0668471
Author: whitebear man <whitebear@whitebearnoMacBook-Air.local>
Date:   Mon Oct 10 15:37:27 2022 +0900
all

现在我想回滚提交21c78ba8cfb811e1ad7dfb035ef5236e619f5d53并创建新的分支。但是,我想保留最新的提交39b6b1d894d0788fdfc09947e1a5f88bf962b142为主。

我应该回滚并创建新的分支吗?

或者创建新的分支和回滚?

你可以从21c78ba8commit创建一个新的分支:

git branch new_branch 21c78ba8

@Tim的回答是一个很好的观点如果你真的不想回滚。但是,如果真的想要/需要还原在39b6b1d894d0788fdfc09947e1a5f88bf962b142中所做的事情,这是最简单的方法:

git revert 39b6b1d894

最新更新