Git本地错误提交未推送,无法reset/revert如何恢复代码?
拆分已提交的大提交为多个小提交
既然你已经通过git reset找回了包含所有修改的那个提交,现在可以把它拆分成多个小提交,步骤如下:
撤销当前大提交,保留所有修改
执行以下命令,这会把当前提交回退,但所有修改会保留在暂存区(不会丢失代码):git reset --soft HEAD~1分批暂存并提交
- 手动选择第一个工作单元的文件,添加到暂存区:
git add 文件名1 文件名2 ... - 提交第一个小提交:
git commit -m "描述第一个工作单元的提交信息" - 重复上述步骤,依次暂存其他工作单元的文件并提交,直到所有修改都完成分批提交。
- 手动选择第一个工作单元的文件,添加到暂存区:
额外提醒
- 下次分批提交时,避免使用
git commit -a(这个命令会自动stage所有已跟踪文件的修改并提交),严格手动用git add选择要提交的文件,再执行git commit。 - 如果这个大提交已经推送到远程仓库(因为只有你一个开发者),完成拆分后可以用
git push --force覆盖远程分支的提交记录。
内容的提问来源于stack exchange,提问作者klkitchens
相关产品推荐
相关产品推荐

