Git Workflow 随笔
2026-01-11 11:30:45
撤销一个已提交的 commit
回退 commit
1 | git reset --soft HEAD^ |
如果已经 push 则需要 force
1 | git push -f |
执行 reset 后想回到 reset 之前的状态
最简单
1 | git reset --soft HEAD@{1} |
保险方法: 查看 reflog 历史
1 | git reflog |
找到 reset 之前的提交 hash(通常是 HEAD@{1} 那一行),然后:
1 | git reset --soft e4f5g6h |
tip:
- git reflog 记录了所有 HEAD 移动的历史,包括 reset、checkout、commit 等操作
- HEAD@{1} 是引用日志中的相对引用,表示 HEAD 在 1 步之前的位置
- 使用 –soft 选项保持暂存区和工作区不变
在提交 PR 之前合并代码到最新的分支解决冲突
1 | # 1. 切换到 dev 分支并拉取最新代码 |
注意事项:
- –force-with-lease 比 –force 更安全,它会检查远程分支是否有其他人的提交
- 如果 rebase 过程中出现冲突,解决冲突后使用 git rebase –continue
- 如果想取消 rebase,使用 git rebase –abort
删除远程分支
1 | git push origin --delete <分支名> |
简写
1 | git push origin :<分支名> |
推送更新后更改用户名
修改用户名
1 | # 修改全局配置 |
更新历史提交
1 | # git commit --amend --author="yx208 <yx208@example.com>" |
修改多个提交
1 | # 修改最近 3 个提交(根据实际情况调整数字) |
example
1 | # 1. 先查看当前的提交历史,确认哪些提交需要修改 |