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上改代码。

相关推荐
深海鱼在掘金2 天前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git
noravinsc3 天前
关于Git Flow
git
蜜獾云3 天前
在Git中配置用户名和密码
git
scx_link3 天前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
南大白3 天前
IntelliJ IDEA 运行时的 JVM 本地内存溢出崩溃
git
码农小旋风3 天前
Claude Code 基础用法大全:对话、分析、修改、测试、Git 和工作流
人工智能·git·chatgpt·claude
南大白3 天前
Git 撤回提交完整方案
git
像风一样的男人@3 天前
python --实现代理服务器
git·ui
sbjdhjd3 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
CoderYanger3 天前
A.每日一题:234. 回文链表
数据结构·程序人生·leetcode·链表·面试·职场和发展·学习方法