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