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

相关推荐
小此方9 小时前
「插曲:Git」企业规范篇:DevOps开发模型、Git Flow五类分支设计与测试/预发布/生产环境Bug修复及Hotfix紧急发布流程
git·bug·devops
溪语流沙9 小时前
【Web全栈进阶】JWT无状态认证:签发、校验、刷新
前端·git·python·github
OsDepK10 小时前
osgit纯图形化git版本管理工具,多人开发团队协作工具,支持Mac与Windows
git
Madison-No716 小时前
Git版本控制工具(一)
git
小小小米粒1 天前
重置本地git
大数据·git·elasticsearch
Julien20041 天前
管理 Ansible 配置文件
linux·运维·服务器·ssh·学习方法
鶴哥只手遮天1 天前
第 8 章 工作区与检出:unpack-trees 与并行 checkout
git
我命由我123451 天前
金融租赁极简理解
经验分享·学习·职场和发展·金融·求职招聘·职场发展·学习方法
xing-xing1 天前
git 相关命令总结
git
A-刘晨阳1 天前
GitLab + ArgoCD 实现 Kubernetes GitOps 自动化部署
运维·人工智能·git·kubernetes·自动化·云计算·argocd