4. 提交与日志
git commit -m "提交信息" # 提交
git commit --amend # 修改最后一次提交信息
git log # 查看提交历史
git log --oneline # 简洁历史
git log --graph --oneline --all # 分支图形化
git log -p <文件> # 查看文件修改历史
5. 分支管理
git branch # 查看本地分支
git branch -a # 查看所有分支(含远程)
git branch <分支名> # 创建分支
git checkout <分支名> # 切换分支
git checkout -b <分支名> # 创建并切换分支
git branch -d <分支名> # 删除本地分支
git branch -D <分支名> # 强制删除
git merge <分支名> # 合并分支
6. 远程仓库
git remote -v # 查看远程仓库
git remote add origin <地址> # 添加远程仓库
git push origin <分支名> # 推送
git push -u origin <分支名> # 推送并设置上游
git push --force # 强制推送(慎用)
git fetch # 获取远程更新(不合并)
git pull # 获取并合并(fetch + merge)
git pull --rebase # 拉取并变基(推荐)
7. 撤销与恢复
git restore <文件> # 撤销工作区修改(Git 2.23+)
git restore --staged <文件> # 撤销暂存区修改
git reset --soft HEAD~1 # 撤销提交但保留修改
git reset --mixed HEAD~1 # 撤销提交并取消暂存(默认)
git reset --hard HEAD~1 # 彻底撤销(危险)
git revert <commit-id> # 反向提交(安全撤销)
8. Stash(临时保存)
git stash # 暂存当前修改
git stash -u # 暂存包括未跟踪文件
git stash pop # 恢复并删除stash
git stash apply # 恢复但不删除
git stash list # 查看所有stash
git stash drop # 删除某个stash
9. 高级实用命令
git cherry-pick <commit-id> # 挑选特定提交
git reflog # 查看所有操作记录(救命命令)
git blame <文件> # 查看文件每一行是谁改的
git diff # 查看未暂存差异
git diff --cached # 查看已暂存差异
git clean -fd # 删除未跟踪文件(慎用)
10.推荐工作流程(日常开发)
git checkout main
git pull --rebase
git checkout -b feature/xxx
# ... 开发 ...
git add .
git commit -m "feat: xxx"
git push -u origin feature/xxx