文章目录Git 正确使用指南系统性结构化总结一、核心概念二、安装与配置1. 安装2. 基础配置三、基本工作流程本地仓库1. 初始化/克隆仓库2. 查看状态与差异3. 暂存与提交4. 查看提交历史5. 撤销操作四、分支管理1. 基本分支操作2. 合并分支3. 删除分支4. 变基Rebase五、远程仓库与协作1. 关联远程仓库2. 推送与拉取3. 协作流程Fork PR六、常见问题与最佳实践1. .gitignore 文件2. 提交信息规范3. 恢复丢失的提交4. 最佳实践Git 正确使用指南系统性结构化总结一、核心概念理解 Git 的核心概念是正确使用的基础仓库Repository包含项目完整历史记录的目录分为本地仓库在你的电脑上和远程仓库在服务器上如 GitHub、GitLab。工作区Working Directory你实际编辑的文件目录。暂存区Staging Area临时保存即将提交的修改的区域类似“购物车”。提交Commit将暂存区的修改永久保存到仓库的历史记录中每个提交有唯一的哈希值。分支Branch独立的开发线默认分支通常为main或master。二、安装与配置1. 安装Windows下载 Git for Windows 安装包。macOS使用 Homebrew 安装brew install git。LinuxUbuntu/Debiansudo apt install git。2. 基础配置配置用户信息全局生效gitconfig--globaluser.name你的名字gitconfig--globaluser.email你的邮箱example.com其他常用配置设置默认编辑器git config --global core.editor vim查看配置git config --list三、基本工作流程本地仓库1. 初始化/克隆仓库初始化新仓库在项目目录下运行git init。克隆远程仓库git clone 远程仓库URL如git clone https://github.com/username/repo.git。2. 查看状态与差异git status查看工作区、暂存区的状态哪些文件被修改、暂存。git diff查看工作区与暂存区的差异。git diff --staged查看暂存区与最后一次提交的差异。3. 暂存与提交git add 文件将文件添加到暂存区如git add .暂存所有修改。git commit -m 提交信息将暂存区的修改提交到仓库提交信息需清晰描述修改内容。4. 查看提交历史git log查看提交历史按时间倒序。git log --oneline简洁显示提交历史每个提交一行。5. 撤销操作取消暂存git restore --staged 文件将文件从暂存区移回工作区。丢弃工作区修改git restore 文件谨慎使用会丢失未暂存的修改。修改最后一次提交git commit --amend修改提交信息或补充遗漏的文件。四、分支管理1. 基本分支操作git branch查看所有分支当前分支前有*标记。git branch 分支名创建新分支如git branch dev。git switch 分支名切换到指定分支或旧命令git checkout 分支名。git switch -c 分支名创建并切换到新分支一步完成。2. 合并分支git merge 分支名将指定分支合并到当前分支如在main分支运行git merge dev。解决冲突如果合并时出现冲突Git 会标记冲突文件需手动编辑文件解决冲突然后git add和git commit完成合并。3. 删除分支git branch -d 分支名删除已合并的分支。git branch -D 分支名强制删除未合并的分支谨慎使用。4. 变基Rebasegit rebase 目标分支将当前分支的提交“移动”到目标分支的顶部保持提交历史线性如git rebase main。注意不要对已推送到远程仓库的公共分支使用变基五、远程仓库与协作1. 关联远程仓库git remote add origin 远程仓库URL将本地仓库与远程仓库关联origin是远程仓库的默认名称。git remote -v查看关联的远程仓库。2. 推送与拉取git push -u origin 分支名将本地分支推送到远程仓库-u关联本地与远程分支后续可直接git push。git pull拉取远程仓库的最新修改并合并到当前分支等价于git fetchgit merge。git fetch获取远程仓库的最新修改但不自动合并。3. 协作流程Fork PRFork 仓库在 GitHub/GitLab 上 Fork 他人的仓库到自己的账号。克隆自己的 Forkgit clone 你的Fork仓库URL。创建分支开发git switch -c feature-xxx。提交并推送git add .→git commit -m feat: 添加xxx功能→git push origin feature-xxx。提交 Pull Request (PR)在 GitHub/GitLab 上提交 PR等待原仓库维护者审查合并。六、常见问题与最佳实践1. .gitignore 文件创建.gitignore文件指定不需要提交的文件如依赖目录、日志文件、临时文件node_modules/ *.log .DS_Store2. 提交信息规范使用清晰的提交信息格式参考 Conventional Commitsfeat: 新功能fix: 修复bugdocs: 文档更新style: 代码格式调整refactor: 重构3. 恢复丢失的提交如果误删了提交使用git reflog查看操作历史找到丢失的提交哈希值然后git checkout 哈希值临时查看该提交。git reset --hard 哈希值恢复到该提交谨慎使用会丢失后续修改。4. 最佳实践频繁提交小步提交每个提交对应一个独立的功能或修复。分支开发在分支上开发新功能完成后合并到主分支保持主分支稳定。代码审查通过 PR 进行代码审查提高代码质量。定期同步定期从远程仓库拉取最新修改避免冲突。