资讯动态

Git版本控制入门与20+常用命令详解

发布时间:2026/10/26 21:55:53 来源:尧图企业网站定制
1. Git入门为什么每个开发者都需要版本控制刚接触编程那会儿我最头疼的就是代码管理。有一次不小心删错了文件花了两天时间才手动恢复。直到遇到Git才发现原来代码版本管理可以这么高效。Git作为目前最流行的分布式版本控制系统已经成为开发者必备的核心技能之一。对于后端开发者而言Git尤为重要。无论是个人项目还是团队协作Git都能帮你完整记录每次代码变更轻松回溯到任意历史版本高效管理分支和合并与团队成员无缝协作这个教程专为后端新手设计我会从最基础的安装配置讲起逐步深入到日常开发中最常用的20个Git命令最后附上精心整理的速查表。学完这些你就能应对90%的日常开发场景。2. Git环境搭建与基础配置2.1 安装Git的三种方式根据操作系统不同Git的安装方式也有所区别Windows系统官网下载安装包推荐使用64-bit Git for Windows Setup安装时勾选Use Git from Git Bash only保持环境纯净建议添加Git到PATH环境变量方便在任意位置使用macOS系统最简单的方式是通过Homebrewbrew install git也可以下载官方安装包Linux系统Debian/Ubuntusudo apt-get install gitCentOS/RHELsudo yum install git安装完成后在终端运行git --version验证是否成功。2.2 必须做的初始配置安装完Git后第一件事就是配置用户信息git config --global user.name 你的名字 git config --global user.email 你的邮箱这个信息会记录在你的每次提交中。建议使用与GitHub/GitLab相同的邮箱方便平台关联你的提交。其他实用配置# 设置默认编辑器为VSCode git config --global core.editor code --wait # 让命令行输出带颜色 git config --global color.ui auto # 设置默认分支名为main替代原来的master git config --global init.defaultBranch main提示所有配置都保存在~/.gitconfig文件中可以直接编辑这个文件修改配置。3. Git核心概念与工作流程3.1 Git的三大区域理解Git的工作机制首先要掌握三个核心概念工作目录Working Directory你实际操作的文件夹在这里修改文件暂存区Staging Area准备提交的变更临时存放区仓库Repository存储项目完整历史和元数据的数据库典型的工作流程是 修改文件 → 添加到暂存区 → 提交到仓库3.2 Git文件生命周期文件在Git中的状态变化未跟踪Untracked新创建的文件Git尚未开始跟踪已修改Modified已跟踪文件被修改但未暂存已暂存Staged修改已添加到暂存区准备提交已提交Committed变更已永久存储在本地仓库使用git status可以查看当前文件状态这是最常用的命令之一。4. 日常开发必备Git命令详解4.1 仓库初始化与克隆创建新仓库mkdir my-project cd my-project git init这会在当前目录创建.git子目录包含所有仓库数据。克隆现有仓库git clone https://github.com/user/repo.git git clone https://github.com/user/repo.git my-folder # 指定本地目录名4.2 基础工作流命令查看状态git status git status -s # 简洁版输出添加文件到暂存区git add file.txt # 添加单个文件 git add . # 添加所有变更 git add *.js # 添加所有js文件提交变更git commit -m 描述性提交信息 git commit -am 描述信息 # 跳过git add步骤仅对已跟踪文件有效提交信息规范首行不超过50字符的简要说明空一行后写详细说明如果需要使用现在时态、命令式语气如Fix bug而非Fixed bug4.3 查看历史与差异查看提交历史git log git log --oneline # 简洁版 git log --graph --all --decorate # 可视化分支 git log -p file.txt # 查看特定文件历史查看变更内容git diff # 工作目录与暂存区的差异 git diff --staged # 暂存区与最新提交的差异 git diff HEAD~3 HEAD # 比较两个提交间的差异4.4 撤销与回退撤销工作目录修改git checkout -- file.txt # 丢弃指定文件的修改 git restore file.txt # Git 2.23推荐方式从暂存区移除文件git reset HEAD file.txt git restore --staged file.txt # Git 2.23推荐方式修改最后一次提交git commit --amend # 修改提交信息或内容回退到历史版本git reset --hard HEAD~3 # 回退3个提交慎用会丢失工作 git revert HEAD # 创建新提交来撤销之前的变更更安全4.5 分支管理创建与切换分支git branch feature-x # 创建分支 git checkout feature-x # 切换分支 git checkout -b feature-x # 创建并切换常用合并分支git checkout main git merge feature-x解决冲突 当合并遇到冲突时打开冲突文件查找标记手动修改为想要保留的内容删除冲突标记执行git add和git commit完成合并删除分支git branch -d feature-x # 合并后删除 git branch -D feature-x # 强制删除未合并分支4.6 远程仓库协作添加远程仓库git remote add origin https://github.com/user/repo.git推送更改git push -u origin main # 首次推送设置上游分支 git push # 之后简化推送拉取更新git pull # 相当于git fetch git merge git fetch # 只获取远程变更不合并查看远程信息git remote -v # 查看远程仓库 git branch -r # 查看远程分支 git branch -a # 查看所有分支5. Git高级技巧与最佳实践5.1 使用.gitignore文件在项目根目录创建.gitignore文件列出不想跟踪的文件模式# 忽略所有.log文件 *.log # 忽略node_modules目录 node_modules/ # 但保留重要的.log文件 !important.log常见需要忽略的内容依赖目录node_modules, vendor构建产物dist, build编辑器配置文件.vscode, .idea系统文件.DS_Store, thumbs.db5.2 储藏临时变更当需要切换分支但不想提交当前修改时git stash # 储藏当前修改 git stash list # 查看储藏列表 git stash apply # 恢复最近储藏 git stash pop # 恢复并删除储藏 git stash drop # 删除储藏5.3 使用标签标记版本git tag v1.0.0 # 轻量标签 git tag -a v1.0.0 -m Release version 1.0.0 # 附注标签 git push origin v1.0.0 # 推送标签到远程5.4 交互式变基整理提交历史git rebase -i HEAD~5 # 修改最近5个提交在交互界面可以重新排序提交合并多个提交squash修改提交信息reword拆分提交edit注意只对尚未推送的提交使用变基已共享的提交不要变基。6. Git常用命令速查表6.1 基础命令速查命令描述git init初始化新仓库git clone url克隆远程仓库git add file添加文件到暂存区git commit -m msg提交变更git status查看当前状态git log查看提交历史6.2 分支与合并命令描述git branch列出所有分支git checkout -b branch创建并切换分支git merge branch合并指定分支到当前分支git rebase branch变基当前分支到指定分支6.3 远程协作命令描述git remote add name url添加远程仓库git push -u remote branch推送分支到远程git pull拉取远程更新git fetch获取远程变更但不合并6.4 撤销与回退命令描述git restore file撤销工作目录修改git restore --staged file从暂存区移除文件git commit --amend修改最后一次提交git reset --hard commit回退到指定提交7. 常见问题与解决方案7.1 提交了错误内容怎么办场景不小心提交了敏感信息或错误文件。解决方案如果是最近一次提交git commit --amend # 修改提交 git push -f # 强制推送仅限个人分支如果是历史提交git rebase -i HEAD~5 # 找到要修改的提交 # 将pick改为edit # 修改文件后 git add . git commit --amend git rebase --continue警告强制推送会重写历史确保没有其他人基于这个分支工作。7.2 合并冲突如何解决场景git merge或git pull时出现冲突。解决步骤运行git status查看冲突文件打开冲突文件查找标记手动决定保留哪些内容删除冲突标记添加解决后的文件git add file完成合并git commit7.3 如何找回删除的分支或提交场景不小心删除了分支或重置了提交。解决方案使用git reflog查看所有操作历史找到删除前的提交哈希基于该哈希创建新分支git branch recovered-branch hash7.4 大文件误提交如何处理场景不小心提交了大文件如视频、数据集导致仓库臃肿。解决方案使用BFG Repo-Cleaner或git filter-branch移除历史中的大文件强制推送清理后的仓库在.gitignore中添加大文件模式团队成员需要重新克隆仓库提示考虑使用Git LFSLarge File Storage管理大文件。8. Git最佳实践总结提交粒度要小每次提交只解决一个问题便于回退和代码审查编写有意义的提交信息清晰说明为什么修改而非只是改了啥频繁提交定期推送避免本地积压大量未推送提交使用特性分支工作流每个新功能或修复创建独立分支定期拉取上游变更减少合并冲突的可能性善用.gitignore从一开始就忽略不需要版本控制的文件不要重写已共享的历史避免对已推送的提交使用rebase -i或reset刚开始使用Git时可能会觉得复杂但坚持几周后就会变得自然。我建议每天花10分钟练习Git命令很快就能熟练掌握。遇到问题时记住Git几乎总能找回丢失的内容——只要还没执行git gc垃圾回收。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑