1713 字
9 分钟
Git 命令保姆级教程
Git 命令保姆级教程
Git 是什么
Git 就像是代码的”时光机”,可以随时回到以前的版本。
举个生活中的例子
你在写一篇论文:
- 没有 Git:保存成「论文最终版」「论文最终版2」「论文真的最终版」「绝对不改版」… 文件乱七八糟
- 有 Git:一个文件,随时可以回到任何历史版本,清清爽爽
为什么要学 Git
- 代码丢了?不怕,随时回退
- 改错了?不怕,一键撤销
- 多人一起写代码?不会互相覆盖
- 谁改了什么?每条记录都有记载
一、安装 Git
Windows 用户
- 打开这个网站:git-scm.com
- 点击下载安装包
- 双击安装,一路点击「下一步」就可以了
验证是否安装成功
打开命令行(按 Win+R,输入 cmd),输入:
git --version如果看到版本号(比如 git version 2.40.0),恭喜你,安装成功了!
二、初次配置
安装好后,要先告诉 Git 你是谁,不然以后提交代码不知道是谁干的。
# 设置你的名字git config --global user.name "你的名字"
# 设置你的邮箱git config --global user.email "你的邮箱@example.com"这样就配置好了!
三、Git 工作原理(超重要!)
Git 有三个区域,理解了这三个区,你就掌握了一半。
┌─────────┐ git add ┌─────────┐ git commit ┌─────────┐│ 工作区 │ ────────> │ 暂存区 │ ────────> │ 仓库区 |│ (写代码) │ │ (准备区) │ │ (已保存) │└─────────┘ └─────────┘ └─────────┘| 区域 | 是什么 | 对应命令 |
|---|---|---|
| 工作区 | 你正在改的代码 | 改代码的地方 |
| 暂存区 | 准备要提交的文件 | git add 后进入这里 |
| 仓库 | 已保存的版本历史 | git commit 后存到这里 |
简单类比
- 工作区 = 你的书桌,正在写的作业
- 暂存区 = 文件袋,准备交上去的作业
- 仓库 = 保险柜,所有已交的作业都保存在这里
四、最常用的命令
1️⃣ git init - 创建新仓库
在一个文件夹里运行这个命令,这个文件夹就被 Git “接管”了。
git init2️⃣ git clone - 下载别人的项目
git clone https://github.com/用户名/项目名.git就像把 GitHub 上的项目复制到你的电脑上。
3️⃣ git status - 查看当前状态
git status这是最常用的命令!随时用它来看看:
- 哪些文件被改了
- 哪些文件还没添加到暂存区
- 当前在哪个分支
养成习惯:改代码前后都看一下 git status
4️⃣ git add - 添加文件到暂存区
# 添加某个文件git add 文件名.txt
# 添加所有文件git add .
# 添加所有变化(包括删除的文件)git add -A5️⃣ git commit - 提交保存
git commit -m "说明你改了什么"每次提交都要写清楚改了什么,方便以后查找。
提交信息怎么写?
❌ 别这样写:"fix bug""update""改完了"
✅ 这样写才好:"修复登录按钮点击没反应的问题""添加用户头像上传功能""更新导航栏样式"6️⃣ git log - 查看历史记录
# 简洁显示git log --oneline
# 显示最近的 3 条git log -3五、常用操作指南
场景1:改错代码了,想撤销
# 撤销单个文件的修改(恢复到上一次提交的状态)git checkout -- 文件名.txt
# 或者用新命令(推荐)git restore 文件名.txt场景2:add 错文件了,想从暂存区移除
git reset HEAD 文件名.txt场景3:commit 信息写错了,想改
# 修改最后一次提交的信息git commit --amend场景4:想看看改了什么
# 查看还没 add 的修改git diff
# 查看已经 add 的修改git diff --staged六、分支是什么?
分支就像是一个”平行宇宙”。
你在主分支(main)上,可以创建一个新分支(比如 feature/login),在新分支上写代码,写完了再合并回去。
好处:新功能开发不会影响主分支的稳定性。
分支常用命令
# 查看所有分支git branch
# 创建并切换到新分支git checkout -b 分支名
# 切换到已有分支git checkout 分支名
# 删除分支git branch -d 分支名七、远程操作(配合 GitHub 使用)
把本地代码推送到 GitHub
# 第一次推送(需要设置关联)git push -u origin main
# 后续推送git push从 GitHub 拉取最新代码
git pull八、完整工作流程
新项目从零开始
# 1. 创建文件夹mkdir my-projectcd my-project
# 2. 初始化 Gitgit init
# 3. 创建文件并写代码echo "# 我的第一个项目" > README.md
# 4. 添加文件git add .
# 5. 提交git commit -m "初始化项目"
# 6. 关联 GitHub 仓库(先在 GitHub 上创建仓库)git remote add origin https://github.com/你的用户名/项目名.git
# 7. 推送git push -u origin main日常开发流程
# 1. 拉取最新代码git pull
# 2. 改代码...
# 3. 查看改了什么git status
# 4. 添加文件git add .
# 5. 提交git commit -m "写清楚你改了什么"
# 6. 推送git push九、常见问题解答
Q1: 提示 “fatal: not a git repository”
意思:当前文件夹不是 Git 仓库
解决:运行 git init,或者确认你在这个项目文件夹里
Q2: git add 后后悔了,想撤销
git reset HEAD 文件名Q3: push 时提示失败
原因:GitHub 上有别人推送的新代码,你的版本不是最新的
解决:先拉取,再推送
git pullgit pushQ4: 怎么忽略某些文件?
创建一个叫 .gitignore 的文件,写进去要忽略的内容:
# 忽略所有 .pyc 文件*.pyc
# 忽略 node_modules 文件夹node_modules/
# 忽略配置文件(里面有密码)config.ini
# 忽略日志文件*.logQ5: 代码改错了,怎么找回旧版本?
# 查看某个版本的文件内容git show HEAD:文件名.txt
# 恢复文件到某个版本git checkout HEAD -- 文件名.txt十、小技巧
1. 设置命令别名(偷懒神器)
把长命令变短命令:
# 设置别名git config --global alias.st statusgit config --global alias.co checkoutgit config --global alias.br branchgit config --global alias.ci commit
# 以后可以用短命令了git st # 等同于 git statusgit co main # 等同于 git checkout maingit br # 等同于 git branch2. 快捷键
| 按键 | 作用 |
|---|---|
| q | 退出查看日志界面 |
| 方向键 | 上下翻动 |
| /关键词 | 搜索内容 |
最后的建议
- 多提交:写完一个小功能就提交,不要堆一大堆
- 写清楚说明:让别人(和未来的自己)一眼就知道改了什么
- 多用分支:新功能在新分支开发,别直接改主分支
- push 前先 pull:减少冲突
- 勤用 git status:随时知道当前状态
祝你 Git 用得顺手!🎉
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
一只兔