git的使用教程
bashgit commit --amend -m "新的提交说明"可以修改提交信息,或者忘记添加某个文件时用。主分支通常叫master或main。你可以创建新分支(比如)独立开发,完成后合并回主分支。分支切换非常快,是 Git 的核心优势。
📘 Git 从入门到日常使用 · 详细学习笔记
1. 什么是 Git?
-
Git 是一个版本控制系统:它能记录你对文件的所有修改历史,就像游戏的“存档”一样,随时可以回到之前的某个状态。
-
为什么用它:多人协作、备份代码、追踪修改、实验新功能而不破坏原有代码。
-
核心概念:
-
仓库(Repository):你的项目文件夹 + 所有历史记录的总称。
-
提交(Commit):一次“存档”,记录某一时刻所有文件的状态。
-
分支(Branch):独立开发线,让你在不影响主代码的情况下工作。
-
2. Git 安装与配置
2.1 安装 Git
-
Windows:从 Git官网 下载安装,一路“下一步”即可。安装后会有 Git Bash 终端。
-
macOS:
brew 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 会提示哪些文件冲突,手动编辑文件解决后 add、commit 即可。
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 的服务器。
-
解决步骤(由简到繁):
-
刷新 DNS:打开 CMD 执行
ipconfig /flushdns -
修改 hosts 文件(临时):
C:\Windows\System32\drivers\etc\hosts末尾添加180.76.198.77 gitee.com -
更换 DNS 服务器:比如改成
114.114.114.114或223.5.5.5 -
使用 SSH 协议(最稳定):先生成 SSH 密钥,添加到 Gitee,然后
git remote set-url origin git@gitee.com:用户名/仓库名.git -
检查 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. 学习建议与路径
-
先理解三个区:工作区 → 暂存区 → 版本库(commit)
-
多用
git status:迷茫时就敲它,它会提示你下一步能做什么。 -
模仿真实流程:自己创建一个项目,写几个文件,来回提交、建分支、合并、推送到远程。
-
可视化工具辅助:初期可以用 Git GUI(如 Sourcetree、GitKraken)或 IDE 内置的 Git 插件(VS Code、IntelliJ)帮助理解图形化概念。
-
多练习解决冲突:故意制造冲突(两个分支修改同一行),然后手动合并,这是协作中最需要掌握的技能。
更多推荐


所有评论(0)