Git 高级操作:改写提交历史
1. 重置操作
在某些情况下,直接提交可能会使提交图变得混乱,此时应确定正确的状态并进行重置。以下是两种重置方式:
-硬重置:使用git reset --hard命令,它会将当前分支的 HEAD 引用、索引和工作目录都重置到指定的提交。例如:
$ git reset --hard e719b1f- 软重置:使用
git reset --soft命令,它只重置当前分支的 HEAD 引用,工作目录和索引不会改变。例如:
$ git reset --soft e719b1f使用--soft重置后,工作目录代表了dev分支顶端的完整内容。此时,由于 HEAD 正确指向了master分支原来的顶端,提交操作将生成一个有效的提交图,新的master状态与dev分支的顶端相同。
2. 使用git cherry - pick
git cherry - pick命令用于将指定提交引入到当前分支,会生成一个新的、不同的提交,