Git 完全入门指南_自用

📅 2026/7/3 13:20:26 👁️ 阅读次数 📝 编程学习
Git 完全入门指南_自用

Git 完全入门指南 📚

一份从零开始的 Git 学习笔记,涵盖核心概念和日常操作


📖 目录

  1. Git 是什么
  2. 核心概念:目录和路径
  3. 创建仓库(git init)
  4. 文件管理(add & commit)
  5. 远程仓库(GitHub)
  6. 分支管理(branch & merge)
  7. 常用命令速查表

1. Git 是什么

概念说明
Git版本管理工具,记录每次修改,可随时回退
GitHub存放 Git 仓库的网站(云盘 + 协作平台)
类比Git = 驾照,GitHub = 停车场

2. 核心概念:目录和路径

2.1 当前目录

终端始终有一个"当前位置",所有操作都基于此位置。

pwd# 显示当前所在路径(我在哪?)cd文件夹名# 切换目录(走进去)cd~# 回到用户目录cd..# 回到上级目录ls# 查看当前文件夹内容ls-a# 查看所有内容(含隐藏文件 .git)

2.2 路径缩写

符号含义示例
~用户目录~/Desktop=/Users/名字/Desktop
.当前目录git add .= 添加当前文件夹所有修改
..上级目录cd ..= 回到上级文件夹

3. 创建仓库(git init)

3.1 三种初始化方式

# 方式1:在当前位置初始化gitinit# 把当前文件夹变成Git仓库# 方式2:新建文件夹并初始化gitinit 新文件夹名# 创建"新文件夹"并在里面初始化仓库# 方式3:指定路径创建gitinit ~/Desktop/my-project# 在桌面创建 my-project 并初始化

3.2 验证是否成功

ls-a# 看到 .git 隐藏文件夹 → 成功!gitstatus# 查看仓库状态(报错说明不在仓库里)

3.3 完整示例

cd~/Desktopmkdirmy-projectcdmy-projectgitinitls-a# 看到 .git ✅

4. 文件管理(add & commit)

4.1 核心流程

创建文件 → git add → git commit ↓ ↓ ↓ 写代码 放入暂存区 正式存档(生成版本)

4.2 git add

gitadd文件名# 添加指定文件gitadd.# 添加当前文件夹所有修改gitadd-A# 添加仓库所有修改(含隐藏文件)gitadd*.js# 添加所有 .js 文件

注意:git add只管理"已存在"的文件,不会创建文件!

4.3 git commit

gitcommit-m"提交说明"# -m = message,写清楚你改了啥gitcommit# 不写 -m 会弹出编辑器(不推荐)

提交说明规范:

✅ 好的说明:git commit-m"修复了登录页面的样式bug"✅ 好的说明:git commit-m"添加了用户注册的邮箱验证功能"❌ 差的说明:git commit-m"fix"❌ 差的说明:git commit-m"123"

4.4 git commit -a(快捷方式)

gitcommit-a-m"说明"# -a = auto:自动 add 所有"已被Git管理"的文件的修改# ⚠️ 注意:不能添加"新文件"(从未被Git管理过的)
文件状态git commit -a是否生效
已存在的文件(修改)✅ 自动 add 并提交
新建的文件❌ 被忽略,需手动 add

4.5 git rm(删除文件)

gitrm文件名# = rm 文件名 + git add 文件名(告诉Git文件被删了)# 等价于:rm文件名gitadd文件名

5. 远程仓库(GitHub)

5.1 核心概念

本地仓库(你电脑) ←→ 远程仓库(GitHub) git push = 本地 → 远程(上传) git pull = 远程 → 本地(下载+合并) git clone = 从远程复制到本地(首次)

5.2 从 GitHub 克隆

# HTTPS 方式(推荐新手)gitclone https://github.com/用户名/仓库名.git# SSH 方式(需配置密钥)gitclone git@github.com:用户名/仓库名.git

git clone自动完成:

  1. 创建项目文件夹
  2. 下载所有代码
  3. 建立本地与远程的关联

5.3 日常工作流

# ===== 第1步:克隆项目(只做一次) =====gitclone https://github.com/用户名/仓库名.gitcd仓库名# ===== 第2步:开始工作 =====# 用VS Code修改代码...# ===== 第3步:本地提交 =====gitadd.gitcommit-m"说明你改了啥"# ===== 第4步:推送到GitHub =====gitpush# 不需要参数!Git已记住远程地址# ===== 第5步:第二天开始工作 =====gitpull# 拉取队友的最新修改# 然后回到第2步循环...

5.4 git push 完整写法(了解即可)

gitpush origin main# origin = 远程仓库默认名# main = 要推送的分支名# 99%情况直接用 git push 即可

5.5 常见报错处理

# 报错:Permission denied# 解决:用HTTPS方式,输入用户名和Token# 报错:failed to push# 原因:队友先推送了,你本地不是最新# 解决:gitpull# 先拉取最新# 解决冲突后...gitpush# 再推送

6. 分支管理(branch & merge)

6.1 分支是什么?

分支 = 平行宇宙 🌌

main分支(主宇宙)→ 正式发布的代码 test分支(新宇宙)→ 实验新功能,不影响主宇宙

6.2 分支基本操作

gitbranch# 查看所有分支(* 表示当前所在)gitbranchtest# 创建 test 分支gitcheckouttest# 切换到 test 分支gitswitchtest# 切换到 test 分支(新语法)gitcheckout-btest# 创建并切换到 test 分支(一步到位)

6.3 合并分支

# 1. 在 test 分支开发gitcheckouttest# 修改代码...gitadd.gitcommit-m"开发新功能"# 2. 切回 main 分支gitcheckout main# 3. 合并 test 到 main(本地操作!)gitmergetest# 4. 推送到 GitHubgitpush# 5. 删除本地分支gitbranch-dtest

6.4 分支工作流图示

开发前: main: [A]-----[B]-----[C] test: 从C分叉出去 开发中: main: [A]-----[B]-----[C] \ test: [D]-----[E] 合并后: main: [A]-----[B]-----[C]-----[D]-----[E] test: (已删除)

7. 常用命令速查表

7.1 基础命令

命令作用
git init初始化仓库
git clone <url>克隆远程仓库
git status查看仓库状态
git add <文件>添加文件到暂存区
git commit -m "说明"提交到仓库
git log查看提交历史

7.2 远程操作

命令作用
git push推送到GitHub
git pull从GitHub拉取并合并
git remote -v查看远程仓库地址

7.3 分支操作

命令作用
git branch查看分支列表
git branch <名字>创建分支
git checkout <分支>切换分支
git merge <分支>合并分支到当前分支
git branch -d <分支>删除分支

7.4 完整工作流(每日循环)

# 开始工作gitpull# 拉取最新# 写代码...(用VS Code)# 提交gitadd.# 添加所有修改gitcommit-m"具体说明"# 提交# 推送gitpush# 上传到GitHub

🎯 核心要点总结

  1. Git 管理的是"变化",不是完整副本,所以仓库不会无限增大
  2. 所有操作先在本地完成git push才上传到GitHub
  3. 分支是平行宇宙,互不影响,合并后才统一
  4. 提交说明要写清楚,方便自己和他人理解
  5. git add+git commit= 两步走,先准备后存档
  6. git pull前先确保本地修改已提交,避免冲突

📝 术语表

术语英文中文解释
仓库Repository存放代码和版本历史的地方
暂存区Staging Areagit add后的临时存放区
提交Commit生成一个版本快照
分支Branch独立的开发线路
合并Merge将两个分支合并
克隆Clone从远程复制仓库到本地
推送Push上传到远程仓库
拉取Pull从远程仓库下载并合并

参考:Git 官方文档 + 实战经验