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

相关推荐
Allen_LVyingbo1 小时前
面向医疗群体智能的协同诊疗与群体决策支持系统(上)
数据结构·数据库·人工智能·git·python·动态规划
deng-c-f2 小时前
配置(14):git创建分支,跟确保正确提交分支
git
callJJ2 小时前
Git 分支合并到测试分支(dep-qa)教程
大数据·git·elasticsearch
爱钓鱼的程序员小郭3 小时前
Git 使用文档
git
IT布道3 小时前
[Git] 源码服务器主/备备份方案
运维·服务器·git
谙弆悕博士3 小时前
Fortran学习笔记
经验分享·笔记·学习·职场和发展·跳槽·学习方法·fortran
lpfasd1233 小时前
Win11笔记本睡眠唤醒致命bug:NUL设备丢失致Git等工具瘫痪
git·bug
June bug3 小时前
【雅思】阅读填空题和判断题
职场和发展·学习方法
AI自动化工坊4 小时前
基于Git Worktree的OpenSwarm多Agent开发团队实践
git