Git是什么?怎样使用?

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


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

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

关键概念速览

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

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

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

  • 远程仓库(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 天前
删了1.2GB,.git仍是1.2GB
git
程序员沉梦听雨2 天前
【Git】git-submodule子模块管理
git
维克兜率天3 天前
【维克】复合型CTA:趋势+套利的双轮驱动
python·学习方法
全栈陈序员3 天前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
7177773 天前
Git自建用什么工具比较好:Gitea、Forgejo、GitLab CE与Gitee的选型对比
git·gitlab·gitea
Julien20044 天前
管理机密(一)
运维·服务器·开发语言·学习方法
lsc_blog4 天前
年底还在招的岗位,先确认缺口和到岗要求
git·缓存·ci/cd·职场和发展·github
AKA__Zas4 天前
接口自动化测试(1.0 初认识
python·ci/cd·学习方法
全栈陈序员4 天前
【Git】从入门到精通(十一)—— git reset 三种模式详解
git·elasticsearch
道尔柯南4 天前
C++ STL 入门详解:从认识标准模板库到掌握学习方法
java·c++·学习方法