Git是什么?怎样使用?

Git 是目前最主流的分布式版本控制系统,用于高效管理代码、文档等文件的变更历史,支持多人并行协作开发。它最初由 Linux 之父 Linus Torvalds 开发,用于维护 Linux 内核源码,现已成为软件开发领域的行业标准工具。


一、Git 是什么?(核心概念)

维度 说明
本质 追踪文件变化的版本控制系统(VCS)
核心特点 分布式:每个开发者本地都有完整的仓库历史,不依赖中央服务器
解决的问题 防止代码丢失、回溯历史版本、解决多人协作冲突、并行开发功能
常见场景 个人项目备份、团队代码协作、开源贡献、自动化部署

关键概念速览

  • 仓库(Repository):项目的"档案库",包含所有文件和历史记录。

  • 提交(Commit):一次快照,记录某时刻的文件状态,有唯一 ID。

  • 分支(Branch) :独立开发线,常用于新功能或修复,主分支通常是 mainmaster

  • 远程仓库(Remote):托管在服务器上的仓库(如 GitHub、GitLab)。

  • 工作区 / 暂存区 / 版本库:Git 的三大区域,决定文件如何被跟踪。


二、怎样使用 Git?(从零到协作)

1. 安装与配置

复制代码
# 安装(各系统)
# Windows/macOS:官网下载安装包
# Ubuntu:sudo apt install git

# 基础配置(只需一次)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

2. 创建或获取仓库

复制代码
# 方式一:新建本地仓库
mkdir my-project && cd my-project
git init

# 方式二:克隆远程仓库(最常用)
git clone https://github.com/user/repo.git

3. 日常开发流程(最核心)

复制代码
# 1. 查看当前状态
git status

# 2. 添加文件到暂存区
git add index.html        # 添加单个文件
git add .                 # 添加所有变更

# 3. 提交到本地仓库
git commit -m "修复登录按钮样式"

# 4. 推送到远程仓库
git push origin main

4. 分支管理(多人协作关键)

复制代码
# 创建并切换分支
git checkout -b feature-pay

# 开发完成后合并回主分支
git checkout main
git merge feature-pay

# 删除分支
git branch -d feature-pay

5. 更新与同步

复制代码
# 拉取远程最新代码
git pull origin main

# 查看提交历史
git log --oneline --graph

三、典型协作工作流(团队标准)

  1. Fork + Pull Request(开源/跨团队协作)

    • Fork 对方仓库 → 修改 → 提交 PR → 等待审核合并
  2. Feature Branch 工作流(企业最常见)

    • main分支保持稳定

    • 每个功能一个分支,完成后合并


四、常用命令速查表

场景 命令
初始化仓库 git init
克隆项目 git clone <url>
查看状态 git status
提交变更 git add . && git commit -m "msg"
推送代码 git push
拉取更新 git pull
创建分支 git branch <name>
切换分支 git checkout <name>
查看日志 git log
撤销修改 git restore <file>

五、学习建议与资源

  • 新手推荐 :使用 GitHub Desktop ​ 或 SourceTree​ 图形化工具入门。

  • 练习平台Learn Git Branching(可视化学习神器)。

  • 避坑提醒

    • 不要提交大文件、密码、node_modules。

    • 提交前务必 git status确认内容。

    • 多用分支,少直接在 main上改代码。

相关推荐
John_ToDebug2 小时前
Git 工作区、暂存区、仓库、远端同步完全指南:从 restore、reset 到 fetch、pull 的正确使用姿势
git·源代码管理
炸膛坦客14 小时前
Git 和 GitHub:(九)修改本地仓库内容并推送到远程仓库(关联/克隆)
git·github
To_OC16 小时前
一次 git reset 翻车,让我彻底分清了 hard 和 soft,也想通了 Vibe Coding 的本质
git·程序员·vibecoding
Ai拆代码的曹操16 小时前
Git 集成:AI 代理中的版本控制工作流设计
大数据·git·elasticsearch
lazy H17 小时前
Git clone 怎么用?克隆项目及常见问题完整教程
大数据·git·后端·学习·搜索引擎·github
m0_7436975920 小时前
关于ftp与SELinux的冲突问题
git·github
前进的程序员20 小时前
VS Code Git 工作树:多分支并行开发体验
git·vs code·git工作树
半夜修仙20 小时前
二.Git分支管理
git
六bring个六1 天前
git使用笔记
笔记·git
最后冰吻free1 天前
git 不新增commit修改中间commit对应的文件
git