Files
DailyChallenge_APPDepartment/Day_3/README.md
T
2026-09-28 18:12:34 +08:00

490 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 地址
```
复制。
今天创建的仓库先用来练习 Git。明天会把 Day_1 的 `CampusHelper` 应用文件复制到这个仓库中,这样 Git 历史和应用代码就在同一个地方;Day_1 的原目录会暂时保留,不需要删除。
---
# 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 是如何显示代码变化的。
---