从零开始学Git:常用命令与团队协作实战指南
2026/5/28 5:17:59 网站建设 项目流程

从零开始学Git:常用命令与团队协作实战指南

无论是个人项目备份,还是多人协作开发,Git都是现代软件工程的必备技能。本文带你从安装到精通,一步步掌握Git核心用法。

一、为什么要学Git?

在真实的开发场景中,你可能遇到过这些问题:

  • 代码改坏了想回退,只能靠复制文件夹手动恢复
  • 多人同时修改一个文件,后写的覆盖了前面的成果
  • 想试验一个新功能,又怕影响稳定版本

Git —— 一款分布式版本控制系统,完美解决以上痛点。它不仅能记录文件的每一次变更,还能让多人并行开发,互不干扰。

二、Git安装与初次配置

2.1 安装Git

  • Windows:从 Git官网 下载安装包,一路默认安装即可。
  • macOS:brew install git或直接下载安装包。
  • Linux (Ubuntu/Debian):sudo apt install git

安装完成后,打开终端(Windows下使用Git Bash),输入:

git--version

看到版本号表示安装成功。

2.2 配置用户名和邮箱

Git每次提交都会记录操作者身份,需要全局设置:

gitconfig--globaluser.name"你的名字"gitconfig--globaluser.email"你的邮箱"

查看所有配置:

gitconfig--list

三、Git核心概念图解

理解三个区域,Git就掌握了一半:

工作区 (Working Directory) --> 暂存区 (Stage/Index) --> 版本库 (Repository) (你正在编辑的文件夹) (临时存放待提交的改动) (已提交的永久历史)
  • 工作区:你电脑里看到的项目文件夹
  • 暂存区:通过git add把修改放入暂存区
  • 版本库:通过git commit把暂存区内容提交到历史仓库

四、基本操作:从零开始管理项目

4.1 初始化一个新仓库

# 新建项目文件夹mkdirmy-projectcdmy-project# 初始化为Git仓库gitinit

执行后,当前目录下会生成一个隐藏的.git文件夹,这是Git的“数据库”,不要乱删。

4.2 第一次提交

新建一个文件hello.txt,内容写Hello Git

  • 添加到暂存区:git add hello.txt
  • 提交到版本库:git commit -m "第一次提交:添加hello.txt"

常用查看状态命令:

  • git status:查看工作区和暂存区状态
  • git log:查看提交历史记录

4.3 修改文件与版本回退

修改hello.txt内容为Hello World, I love Git,然后提交:

gitaddhello.txtgitcommit-m"修改hello内容"

如果想回退到上一个版本:

gitreset--hardHEAD^# 回退到前一版本gitreset--hard<commit-id># 回退到指定commit

HEAD代表当前版本,HEAD^上一个,HEAD^^上两个,也可以写成HEAD~2

五、分支管理:并行开发的利器

5.1 为什么需要分支?

假设你正在开发一个网站,突然需要紧急修复一个bug。如果直接在主分支上改,可能引入新问题。更好的做法:从主分支拉出一个hotfix分支,修完测试无误后再合并回去。

5.2 分支基本命令

# 查看所有分支(当前分支前有*号)gitbranch# 创建新分支 feature-logingitbranch feature-login# 切换到该分支gitcheckout feature-login# 一步创建并切换gitcheckout-bfeature-login

feature-login分支上开发新功能(比如添加login.py文件),完成后切回主分支并合并:

gitcheckout main# 或 mastergitmerge feature-login

如果不再需要该分支,可以删除:

gitbranch-dfeature-login

5.3 解决合并冲突

当两个分支修改了同一文件的同一行代码时,Git无法自动合并,会产生冲突。例如:

<<<<<<< HEAD 主分支的代码 ======= feature分支的代码 >>>>>>> feature-login

你需要手动编辑文件,保留想要的内容,删除<<<<<<<,=======,>>>>>>>标记,然后:

gitadd<冲突文件>gitcommit-m"解决冲突"

六、远程仓库:GitHub/GitLab协作

6.1 关联远程仓库

以GitHub为例,先在网站上新建一个空仓库(不要勾选README)。然后关联本地仓库:

gitremoteaddorigin https://github.com/你的用户名/仓库名.git

6.2 推送与拉取

# 将本地main分支推送到远程origin仓库的main分支gitpush-uorigin main# 之后可以直接用 git pushgitpush# 从远程拉取更新(不会自动合并)gitfetch# 拉取并合并到当前分支(等同于 fetch + merge)gitpull

注意:git pull相当于git fetch + git merge,多人协作时推荐先git fetch查看远程变动再手动合并。

6.3 克隆远程仓库

要参与别人的项目,直接克隆:

gitclone https://github.com/某个用户/某个项目.gitcd某个项目

七、实用技巧与最佳实践

7.1 .gitignore 文件

有些文件不想被Git跟踪(比如日志、临时文件、依赖包),创建一个.gitignore文件,写入规则:

# 忽略所有 .log 文件 *.log # 忽略 node_modules 文件夹 node_modules/ # 忽略 .env 环境变量文件 .env

7.2 查看历史与差异

# 简洁版日志,每条一行gitlog--oneline--graph--all# 查看工作区与暂存区的差异gitdiff# 查看暂存区与最新commit的差异gitdiff--staged

7.3 撤销操作

# 撤销工作区的修改(还没add)gitcheckout --<文件名># 撤销暂存区的修改(已经add,但没commit)gitreset HEAD<文件名># 修改最近一次commit的说明gitcommit--amend-m"新的提交信息"

7.4 别名提高效率

gitconfig--globalalias.co checkoutgitconfig--globalalias.br branchgitconfig--globalalias.st statusgitconfig--globalalias.lg"log --oneline --graph --all"

之后可以输入git st代替git status

八、团队协作常用工作流

一个典型的多人协作流程:

  1. 从远程仓库克隆:git clone <url>
  2. 基于主分支创建自己的功能分支:git checkout -b feature-xxx
  3. 开发过程中多次addcommit
  4. 开发完成后,先拉取远程最新代码:git pull origin main(如果有冲突就解决)
  5. 推送到远程自己的分支:git push origin feature-xxx
  6. 在GitHub/GitLab上发起 Pull Request (PR),等待队友审核
  7. 合并后,删除本地分支:git branch -d feature-xxx

九、常见问题速查表

场景命令
忘记添加某些文件就commit了git add <漏掉的文件>
git commit --amend --no-edit
不小心提交了敏感信息git reset --soft HEAD^撤销commit但保留修改,重新处理
想把某个文件恢复到历史版本git checkout <commit-id> -- <文件>
合并时不想用自动生成的commit消息git merge --no-ff -m "自定义信息" <分支>
暂存当前未完成的工作git stash
恢复:git stash pop

十、总结

Git是一个强大但需要不断练习的工具。本文覆盖了90%日常开发会用到的命令,建议你跟着步骤在本地实际操作一遍。

一句话记住核心流程:git addgit commitgit push

遇到更复杂的问题,随时查阅git help <命令>或官方文档。动手敲起来,你很快就能成为团队里的Git小能手!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询