1. 开发分支上一个需求提交过多想要合并提交
- 如果使用可视化工具:重置本地分支该需求的所有提交 -> 重新提交代码 -> 强制推送到远程分支
- 使用命令行:用
git rebase
命令
# 其中n为需求重置的最近提交数,n为3就代表最近3次提交都需要重置
git rebase -i HEAD~n
# 在接下来的编辑状态中有显示最近的n次提交数,其中commit ID前面的单词含义如下;
# 1. pick: 表示保留该次提交,不做任何修改;
# 2. squash: 将本次提交与上一次提交进行合并,commit信息也会合并,可以编辑修改(PS: 不能作为第一条,必须保证前面有别的提交);
# 3. fixup: 将本次提交与上一次提交进行合并,commit信息使用上一次的,不可编辑(PS: 不能作为第一条,必须保证前面有别的提交);
# 4. reword: 挨个修改commit信息;
# 5. edit: 挨个回退成为当前版本,可以修改该次提交的代码和commit信息。
2. 缓存当前修改
# 暂存代码
git stash save "描述暂存的信息"
# 列出所有暂存
git stash list
# 恢复最近一次暂存
git stash pop
# 恢复指定的暂存
git stash apply <stash>
# 删除暂存
git stash drop <stash>