本地开发阶段

仓库操作

  • git init
    初始化本地仓库

  • git clone < repo >
    克隆远程仓库

  • git remote -v
    查看远程仓库地址

  • git remote add origin < url >
    添加远程仓库地址

分支管理

  • git branch
    查看分支

  • git branch dev
    创建分支

  • git checkout dev/git switch dev
    切换分支

  • git checkout -b feature-x
    新建并切换分支

  • git branch -d branch-name
    删除本地分支

  • git branch -vv
    查看本地分支与远程分支的关系

代码修改

  • git status
    查看修改状态

  • git diff
    查看改动内容

  • git add file
    添加到暂存区

  • git add .
    添加全部修改

  • git commit -m “feat:xxx”
    提交代码

  • git commit –amend
    修改最近一次commit

  • git restore file
    撤销修改

  • git reset –hard HEAD
    撤销到最后一次提交

与远程仓库交互

拉取更新

  • git fetch
    获取远程更新但不合并

  • git pull
    获取远程更新并合并

  • git pull –rebase
    获取远程更新并rebase

推送代码

  • git push origin dev
    推送分支

  • git push -u origin dev
    第一次推送并建立跟踪关系

  • git push –force
    强制推送

远程分支管理

  • git branch -r
    查看远程分支

  • git push origin –delete branch_name
    删除远程分支

  • git fetch -p
    清理本地已删除的远程分支

协作开发

合并分支

  • git merge dev
    合并分支

  • gti merge –no-ff dev
    保留分支记录

  • git merge –squash dev
    合并为一个commit

解决冲突

发生冲突时git会标记<<<<<<< HEAD … ======= … >>>>>>>
修改后git add file && gti commit

变基rebase

  • git rebase main
    把当前分支基于main更新

  • git rebase -i HEAD~3
    交互式rebase(压缩、修改commit)

临时保存

  • git stash
    存储未提交的修改

  • git stash pop
    恢复修改

  • git stash list
    查看存储列表

提交规范与历史管理

查看提交记录

  • git log
    查看提交日志

  • git log –oneline –graph
    简洁图形化日志

  • git blame file
    查看文件每一行的修改者

撤销/恢复

  • git revert commit_id
    回滚某个提交(生成新提交)

  • git reset –hard commit_id
    回退到某个提交(破坏性)

  • git checkout commit_id file
    恢复某个文件到历史版本

标签管理

  • git tag v1.0.0
    打标签

  • gti push origin v1.0.0
    推送标签

  • git tag -d v1.0.0
    删除本地标签

  • git push origin –delete v1.0.0
    删除远程标签

团队协作中的高级用法

代码评审

  • 在 GitHub/GitLab 上提交 Pull Request (PR) / Merge Request (MR)

  • 代码合并前需要 Review

子模块

  • git submodule add < repo >
    引入子模块

  • git submodule update –init –recursive
    更新子模块

多远程仓库

  • git remote add upstream < url >
    添加上游仓库

  • git fetch upstream
    获取上游更新

  • git rebase upstream/main
    同步上游改动

钩子

  • pre-commit
    提交前检查代码格式

  • pre-push
    推送前运行测试

  • commit-msg
    检查 commit message 格式

常见场景总结

拉代码git pull
开新分支开发git checkout -b feature-xxx
开发中提交git add . && git commit -m "feat:xxx"
推送分支git push origin feature-xxx
合并代码提交PR/MR,由leader审核
解决冲突,手动修改后git add && git commit
回退代码git revert
多人协作,每天先git pull --rebase避免冲突