一、代码撤销与回退
- 温柔撤销 - git reset HEAD^ - → 撤销最后一次提交,但保留修改内容(适合修改后重新提交) 
- 彻底回退 - git reset --hard <commit-id> - → 回到指定提交状态,丢弃之后所有更改(慎用!会丢失代码) 
- 紧急重置 - git reset --hard HEAD - → 放弃所有未提交的修改(常用于终止合并冲突) 
- 温柔重置 git reset --soft origin/xxxx- → 将当前分支重置到远程分支的状态,但保留所有本地更改为已暂存状态(适合用于同步远程分支,同时保留本地修改) 
- 安全撤销 - git revert <commit-id>- → 新建提交来撤销指定更改(适合已推送的代码) 
- 选择添加 - git cherry-pick <commit-id>- → 将指定提交应用到当前分支(适合精准移植特定修改) 
二、冲突解决技巧
遇到冲突时,快速选择版本:
- git checkout --theirs <file>→ 采用对方版本
- git checkout --ours <file>→ 保留自己版本
- git checkout --theirs .→ 所有文件用对方版本
- git checkout --ours .→ 所有文件用自己版本
三、提交优化
- 修改最近提交 
- git commit --amend -m "新信息"→ 修改提交信息
- git commit --amend --no-edit→ 只添加漏掉的文件
- 紧急提交 - git commit --no-verify -m "热修复"
 → 跳过代码检查钩子(如 ESLint),慎用!
四、高效别名配置
在 ~/.gitconfig 中添加:
[alias]ac = "!git add -A && git commit -m" # 一键提交newbr = "!f() { git checkout -b $1; }; f" # 快速建分支
或使用命令添加:
// git 组合命令配置git config --global alias.ac "!git add -A && git commit -m"// git 带参数的别名git config --global alias.newbr "!f() { git checkout -b $1; }; f"
使用示例:
git ac "修复登录bug"git newbr feature-123
 
0 件のコメント:
コメントを投稿