| git init | 初始化本地仓库,创建 .git 目录。 | git init | 项目目录中执行,确保无同名仓库。 |
| git clone | 克隆远程仓库到本地。 | git clone https://github.com/example/repo.git | 指定远程地址,支持 --depth=1 浅层克隆。 |
| git add | 将文件添加到暂存区。 | git add README.md 或 git add . | 避免频繁添加未清理的文件,使用 .gitignore 过滤无用文件。 |
| git commit -m | 提交暂存区更改到本地仓库。 | git commit -m "Add login feature" | 提交信息遵循规范(如 feat/fix/docs 前缀),描述清晰。 |
| git status | 查看工作区和暂存区状态。 | git status | 定期检查状态,确保无未提交的更改。 |
| git log | 查看提交历史记录。 | git log --oneline 或 git log --graph | 使用 --oneline 简化输出,--graph 可视化分支合并。 |
| git branch | 创建、删除、查看分支。 | git branch feature/login 或 git branch -d feature/login | 分支命名规范(如 feature/xxx、bugfix/xxx),删除前确保已合并。 |
| git checkout | 切换分支或恢复文件。 | git checkout dev 或 git checkout -- file.txt | 切换分支前保存未提交的更改(使用 git stash)。 |
| git merge | 合并指定分支到当前分支。 | git merge feature/login | 合并前拉取最新代码,处理冲突后提交。 |
| git rebase | 将当前分支的提交移到另一个分支上。 | git rebase main | 用于整理提交历史,避免使用在共享分支上。 |
| git reset | 回退提交或重置工作区。 | git reset --hard HEAD~1 | 使用 --soft(仅移动 HEAD)、--mixed(默认)、--hard(重置工作区)。 |
| git diff | 查看工作区与暂存区或提交的差异。 | git diff 或 git diff HEAD | 解决冲突前检查差异,确保修改正确。 |
| git push | 将本地提交推送到远程仓库。 | git push origin main | 首次推送使用 -u 设置上游分支,避免强制推送破坏他人工作。 |
| git pull | 拉取远程仓库的更新并合并。 | git pull origin main | 拉取前确保本地无未提交的更改,处理冲突后提交。 |
| git fetch | 从远程仓库获取更新,但不合并。 | git fetch origin | 用于查看远程提交后,再决定是否 merge 或 rebase。 |
| git stash | 暂存未提交的修改,以便切换分支。 | git stash 或 git stash apply | 暂存后及时处理,避免长期堆积。 |
| git tag | 创建、删除、查看标签。 | git tag v1.0 或 git tag -d v1.0 | 标签命名规范(如 v1.0.0),推送标签需显式执行 git push origin v1.0。 |
| git remote | 管理远程仓库地址。 | git remote -v 或 git remote add origin <url> | 定期检查远程仓库配置,避免地址错误。 |
| git cherry-pick | 应用某个提交到当前分支。 | git cherry-pick <commit-hash> | 用于选择性合并提交,避免合并整个分支。 |
| git clean | 删除未跟踪的文件或目录。 | git clean -fd | 操作前确认文件无用,避免误删重要数据。 |