# Day_3:Git 入门——给代码一个“存档点” > 今天学习 APP 开发中非常重要的工具:Git。 > > 不管以后学习 React Native、Kotlin、KMP 还是后端,你都会继续使用它。 预计用时:40~60 分钟 ## 今日目标 完成今天后,你应该能够: - 理解 Git 大概是做什么的 - clone 一个仓库 - 查看 Git 状态 - add 修改 - commit 修改 - push 到远程 - pull 最新代码 暂时不用学习复杂 Git。 --- # 1. Git 是什么? 假设你写项目时这样保存: ```text 最终版.zip 最终版2.zip 最终版真的最终版.zip 最终版真的最终版修改.zip ``` 这显然很痛苦。 而 Git 可以帮你简洁优雅地保存项目的修改历史。 --- # 2. Git 最基本的流程 暂时只需要记住: ```text 修改文件 ↓ git add ↓ git commit ↓ git push ↓ 远程仓库 ``` 其中: ```text add ``` 表示: > 我准备提交这些修改。 ```text commit ``` 表示: > 保存一个版本。 ```text push ``` 表示: > 把本地版本上传到服务器。 --- # 3. 配置自己的身份 第一次使用 Git,需要告诉 Git 你是谁。 打开终端: ```bash git config --global user.name "你的名字" ``` 例如: ```bash git config --global user.name "Arthur" ``` 再填写邮箱: ```bash git config --global user.email "你的邮箱" ``` 查看: ```bash git config --global --list ``` --- # 4. 创建自己的练习仓库 进入 GitHub。 创建一个自己的仓库,例如: ```text app-rookie-你的名字 ``` 创建仓库时建议: ```text 初始化 README ``` 这样仓库不是空的。 找到仓库的: ```text HTTPS Clone 地址 ``` 复制。 --- # 5. clone 到自己的电脑 先进入你准备保存代码的位置: ```bash cd 你的目录 ``` 然后: ```bash git clone 复制下来的地址 ``` 例如: ```bash git clone <你的仓库地址> ``` 成功后: ```bash ls ``` 应该出现: ```text app-rookie-你的名字 ``` 进入: ```bash cd app-rookie-你的名字 ``` --- # 6. 看看 Git 在干什么 执行: ```bash git status ``` 如果没有修改,通常会看到类似: ```text nothing to commit working tree clean ``` 意思是: > 当前代码没有没有保存的修改。 --- # 7. 修改一个文件 执行: ```bash echo "Day 3 Git Practice" > Day_3.txt ``` 再: ```bash git status ``` 这一次你应该看到: ```text Day_3.txt ``` 出现在未跟踪文件中。 --- # 8. git add 执行: ```bash git add Day_3.txt ``` 再次: ```bash git status ``` 文件状态发生了变化。 现在表示: > 我准备把 Day_3.txt 放进下一次 commit。 --- # 9. 第一个 commit 执行: ```bash git commit -m "docs: finish day 3 git practice" ``` 这里: ```text -m ``` 后面的文字就是: > 这次修改做了什么。 --- # 10. push 执行: ```bash git push ``` 根据平台设置,第一次可能需要登录。 完成后打开网页刷新仓库。 如果你看到: ```text Day_3.txt ``` 恭喜: > 🎉 你完成了第一次真正的 Git 提交。 --- # 11. git log 执行: ```bash git log --oneline ``` 你可能看到: ```text abc1234 docs: finish day 3 git practice ... ``` 这就是你的提交历史。 --- # 12. pull 是什么? 如果服务器上的代码比你的电脑更新: 需要: ```bash git pull ``` 你可以尝试: 1. 在 Git 网页上修改 `README.md` 2. 直接在网页提交修改 3. 回到本地 4. 执行: ```bash git pull ``` 观察本地文件的变化。 --- # 今日任务 完成以下过程: ```text 创建个人仓库 ↓ clone ↓ 创建 Day_3.txt ↓ git add ↓ git commit ↓ git push ↓ 网页确认文件存在 ``` 然后再做第二次修改: 把: ```text Day 3 Git Practice ``` 改成: ```text Day 3 Git Practice I know how to use Git now. ``` 再次: ```bash git add . git commit -m "docs: update day 3 practice" git push ``` 最后: ```bash git log --oneline ``` 应该至少看到两个自己的 commit。 --- # 验收标准 - [ ] 知道 Git 是版本管理工具 - [ ] 成功 clone 仓库 - [ ] 会执行 `git status` - [ ] 会执行 `git add` - [ ] 会执行 `git commit` - [ ] 会执行 `git push` - [ ] 知道 `git pull` 是做什么的 - [ ] 仓库里至少存在两个自己的 commit 提交: ```text git log --oneline ``` 的截图。 --- # 常见问题 ## `not a git repository` 先执行: ```bash pwd ``` 很可能: > 你没有进入仓库目录。 执行: ```bash cd app-rookie-你的名字 ``` 然后再试。 这就是为什么 Day_2 要学习目录。 --- ## `nothing to commit` 通常表示: > 你没有新的修改可以提交。 先: ```bash git status ``` 看看发生了什么。 --- ## push 被拒绝 先不要乱执行: ```text --force ``` 先尝试: ```bash git pull ``` 如果仍然失败: 把完整报错提交到工单或询问学长学姐。 --- # Bonus 尝试执行: ```bash git diff ``` 然后修改一个文件,再执行一次。 看看 Git 是如何显示代码变化的。 ---