我刚刚进行了很多提交的快速合并,它破坏了一些功能.
(怎么样)我可以在合并之前找出我所做的提交吗?
最佳答案 正如评论中已经提到的,您可以使用命令git reflog来实现此目的. reflog创建
Git分支指针的所有移动.这包括以下行为:
>使用git commit(或其他创建新提交的命令,如git cherry-pick或其他命令)在分支中创建新提交
>使用git reset将分支指针重置为另一个提交
>合并另一个分支,包括快进合并和常规3路合并.
要查看主分支提示如何随时间变化,请使用该命令
> git reflog master
这将生成如下所示的历史记录:
e03b939 master@{0}: pull: Fast-forward
fa6a265 master@{1}: commit: Added section on project background
c9957fd master@{2}: commit (merge): Merge branch 'feature/foobar'
9d4e390 master@{3}: pull: Merge made by the 'recursive' strategy.
536c04a master@{4}: commit (merge): Merge remote-tracking branch 'origin/master'
d1cf7ad master@{5}: commit: Fix broken formatting
a0cfc5c master@{6}: pull: Fast-forward
c638351 master@{7}: reset: moving to HEAD^
303307e master@{8}: commit: Add awesome feature
...
第一行主服务器@ {0}包含主分支当前指向的提交.第二行主服务器@ {1}将显示主分支在执行快进合并之前指向的提交.
要将主分支重置为该提交,只需使用git reset:
> git reset --hard fa6a265