📘 Git 从入门到日常使用 · 详细学习笔记

1. 什么是 Git?

  • Git 是一个版本控制系统:它能记录你对文件的所有修改历史,就像游戏的“存档”一样,随时可以回到之前的某个状态。

  • 为什么用它:多人协作、备份代码、追踪修改、实验新功能而不破坏原有代码。

  • 核心概念

    • 仓库(Repository):你的项目文件夹 + 所有历史记录的总称。

    • 提交(Commit):一次“存档”,记录某一时刻所有文件的状态。

    • 分支(Branch):独立开发线,让你在不影响主代码的情况下工作。

2. Git 安装与配置

2.1 安装 Git

  • Windows:从 Git官网 下载安装,一路“下一步”即可。安装后会有 Git Bash 终端。

  • macOSbrew install git 或下载安装包。

  • Linux (Ubuntu/Debian)sudo apt install git

验证安装成功:打开终端(或 Git Bash),输入:

git --version

2.2 初次配置(必须)

告诉 Git 你的身份,这样每次提交都会记录是谁做的:

git config --global user.name "你的昵称"
git config --global user.email "你的邮箱"

查看已有配置:

git config --list

💡 --global 表示全局配置,这台电脑上所有仓库都生效。如果某个仓库想要不同身份,去掉 --global 在仓库内单独设置。

3. Git 基础操作(核心流程)

让我们从零创建一个仓库,学习最常用的几个命令。

3.1 创建仓库(初始化)

进入你的项目文件夹,执行:

git init

此时该文件夹下会多出一个隐藏的 .git 目录,它就是 Git 的“数据库”,不要乱动它

3.2 查看状态

随时查看当前仓库的文件状态:

git status

会告诉你哪些文件被修改、哪些文件还没有被 Git 跟踪。

3.3 添加文件到暂存区(Stage)

Git 提交分两步:先 add 到“暂存区”,再 commit 永久保存。

git add 文件名       # 添加单个文件
git add .           # 添加当前目录所有新文件/修改的文件
git add *.txt       # 添加所有txt文件

3.4 提交(创建存档)

git commit -m "这里写本次修改的说明"

例如:git commit -m "完成了用户登录功能"

🧠 理解:add 像把文件放进“购物车”,commit 像“下单确认”,只有 commit 后才会生成一个历史版本。

3.5 查看提交历史

git log                    # 完整历史
git log --oneline         # 简洁一行显示

按 q 退出日志查看。

3.6 查看修改内容(工作区 vs 暂存区)

git diff                  # 工作区与暂存区的差异
git diff --staged         # 暂存区与上一次提交的差异

4. 撤销与回退(放心改错)

4.1 撤销工作区的修改(还没 add)

git checkout -- 文件名     # 还原成最近一次 commit 或 add 的样子

4.2 撤销暂存区的修改(已经 add,但没 commit)

git restore --staged 文件名   # 把文件移出暂存区,工作区修改保留

4.3 修改最后一次提交(还没 push)

git commit --amend -m "新的提交说明"

可以修改提交信息,或者忘记添加某个文件时用。

4.4 回退到某个历史版本

git log --oneline          # 找到目标 commit 的 id(比如 a1b2c3d)
git reset --hard a1b2c3d   # 工作区、暂存区、版本库都回到那个版本

⚠️ 注意:reset --hard 会丢弃之后的所有修改,谨慎使用。如果想保留修改,可以用 git reset --soft

5. 分支(Branch)—— 并行开发的利器

5.1 什么是分支?

  • 主分支通常叫 master 或 main

  • 你可以创建新分支(比如 feature-login)独立开发,完成后合并回主分支。

  • 分支切换非常快,是 Git 的核心优势。

5.2 基本分支操作

bash

git branch                  # 列出本地分支(* 表示当前分支)
git branch 新分支名          # 创建分支
git checkout 分支名          # 切换分支
git checkout -b 新分支名     # 创建并切换到新分支
git branch -d 分支名         # 删除分支(已合并)

5.3 合并分支

假设你在 feature-login 上完成了工作,想合并到 master

bash

git checkout master              # 先切换到目标分支(主分支)
git merge feature-login          # 把 feature-login 合并过来

如果遇到 冲突(conflict),Git 会提示哪些文件冲突,手动编辑文件解决后 addcommit 即可。

6. 远程仓库(以 Gitee / GitHub 为例)

远程仓库是放在服务器上的代码库,用于备份和多人协作。

6.1 添加远程仓库地址

先在 Gitee/GitHub 上创建一个空仓库(不要勾选“生成README”),得到类似 https://gitee.com/你的用户名/仓库名.git 的地址。

在本地仓库下执行:

git remote add origin 远程仓库地址

例如:git remote add origin https://gitee.com/d-pk/screen.git

查看远程仓库:

git remote -v

6.2 推送本地分支到远程

第一次推送需要关联上游分支:

git push -u origin master
  • -u 表示建立本地 master 与远程 master 的关联,之后可直接 git push

  • 如果远程仓库有内容(比如README),需先 git pull origin master --allow-unrelated-histories 拉取合并。

6.3 克隆远程仓库

如果项目已经在远程,想下载到本地:

git clone 远程仓库地址

会自动创建本地仓库并关联远程。

6.4 拉取远程更新

git pull origin master     # 拉取并合并(常用)
git fetch origin master    # 只拉取不合并,查看差异后再决定

7. 常见错误与解决方案(结合你遇到的问题)

错误:fatal: unable to access '...': Could not resolve host: gitee.com

  • 原因:DNS 解析失败,电脑找不到 Gitee 的服务器。

  • 解决步骤(由简到繁):

    1. 刷新 DNS:打开 CMD 执行 ipconfig /flushdns

    2. 修改 hosts 文件(临时):C:\Windows\System32\drivers\etc\hosts 末尾添加 180.76.198.77 gitee.com

    3. 更换 DNS 服务器:比如改成 114.114.114.114 或 223.5.5.5

    4. 使用 SSH 协议(最稳定):先生成 SSH 密钥,添加到 Gitee,然后 git remote set-url origin git@gitee.com:用户名/仓库名.git

    5. 检查 Git 代理git config --global --unset http.proxy

错误:Updates were rejected because the remote contains work...

  • 原因:远程仓库有本地没有的提交(比如你创建远程时勾选了 README)。

  • 解决git pull origin master --allow-unrelated-histories,合并后再 push。

错误:Permission denied (publickey)

  • 原因:使用 SSH 协议但未添加公钥到 Gitee/GitHub。

  • 解决:重新生成密钥,把 ~/.ssh/id_ed25519.pub 内容添加到平台。

8. .gitignore —— 忽略不需要版本控制的文件

有些文件(编译产物、日志、本地配置)不应提交。在项目根目录创建 .gitignore 文件,写入要忽略的规则:

# 忽略所有 .log 文件
*.log
# 忽略 node_modules 文件夹
node_modules/
# 忽略 .env 文件
.env

9. 常用命令速查表

命令 作用
git init 初始化仓库
git status 查看当前状态
git add . 添加所有改动到暂存区
git commit -m "msg" 提交
git log --oneline 看简洁历史
git branch 列出分支
git checkout -b 分支名 创建并切换分支
git merge 分支名 合并分支
git remote add origin URL 关联远程仓库
git push -u origin master 首次推送
git pull 拉取并合并
git clone URL 克隆仓库

10. 学习建议与路径

  1. 先理解三个区:工作区 → 暂存区 → 版本库(commit)

  2. 多用 git status:迷茫时就敲它,它会提示你下一步能做什么。

  3. 模仿真实流程:自己创建一个项目,写几个文件,来回提交、建分支、合并、推送到远程。

  4. 可视化工具辅助:初期可以用 Git GUI(如 Sourcetree、GitKraken)或 IDE 内置的 Git 插件(VS Code、IntelliJ)帮助理解图形化概念。

  5. 多练习解决冲突:故意制造冲突(两个分支修改同一行),然后手动合并,这是协作中最需要掌握的技能。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐