Git常用指令
一、 新手村:建库与克隆
git init
- 大白话:在这个文件夹里开启游戏存档功能。(把一个普通文件夹变成 Git 仓库)
git clone <网址>
- 大白话:从云端(GitHub等)把别人的游戏存档原封不动地下载到我的电脑里。
二、 日常存档三步曲
- 第一步:检查状态
git status
- 大白话:看看我今天改了哪些文件?哪些还没存档?(标红的说明还没准备好,标绿的说明准备好存档了)。
- 第二步:放入暂存区(加入购物车)
git add .
- 大白话:把当前目录下所有修改过的文件,统统放进暂存区,准备存档。 (注意
. 代表所有文件,也可以换成具体文件名)。
- 第三步:正式存档(写日记)
git commit -m "新增了水下机器人的阻力参数"
- 大白话:正式生成一个游戏存档!
-m 后面带的引号里,是你给这次存档写的“备注名”,方便以后回滚的时候知道这次干了啥。
三、 时空穿梭(后悔药)
git log
- 大白话:查看历史存档记录。能看到谁在什么时间提交了什么代码,以及每次存档的唯一串号(哈希值)。
git reset --hard <存档串号>
- 大白话:时光倒流!直接把代码恢复到那个特定的历史存档状态。(警告:这个操作很危险,时光倒流后,未来的代码就没了!)
四、 联机对战(与云端交互)
git push origin master (或者 main)
- 大白话:把我在本地做好的游戏存档,**上传(推)**到云端服务器。让队友也能看到。
git pull origin master (或者 main)
- 大白话:把队友在云端更新的最新存档,**下载(拉)**到我的电脑里,并和我的代码合并。每次写代码前最好先执行一下,防止冲突。
五、 平行宇宙(分支管理)
git branch
- 大白话:查看当前有几个平行宇宙(分支)。打星号
* 的是你现在所在的宇宙。
git branch -M master
git checkout -b dev (较新版本的Git推荐用 git switch -c dev)
- 大白话:创建一个名叫
dev 的新平行宇宙,并立马穿越过去。在这个宇宙里乱改代码,绝对不会影响原来 master 宇宙里的主线剧情。非常适合用来测试新算法。
Git 提示“干净的工作区”但文件未提交
- 误解:“干净”不代表没文件,而是代表所有文件都已提交或被忽略。
- 常见原因 (ROS开发):仓库套仓库 (Nested Git)。
- 如果在
src 下的子文件夹里还有一个 .git 文件夹,外层的 Git 会自动忽略该子文件夹的所有内容。
- 解决:删除子目录下的
.git 文件夹:rm -rf src/my_pkg/.git。
为什么 GitHub 上看不到 README.md
- 原因:GitHub 默认只渲染仓库根目录下的 README.md。
- 错误位置:如果把 README 放在
src/ 或其他子文件夹里,首页是不会显示的。
- 解决:将 README.md 移动到仓库的最外层目录。
如何强制覆盖 GitHub 历史 (清除旧存档)
- 场景:想要彻底删除所有历史提交,让仓库变成全新的“第一次提交”状态。
- 步骤:
- 删除本地历史:
rm -rf .git。
- 重新初始化:
git init -> git add . -> git commit -m "Init"。
- 强制推送:
git push -f origin main (注意 -f 参数是强制覆盖的关键)。
Git 中 origin 的含义
- 定义:
origin 是远程仓库地址(URL)的别名。
- 作用:代替输入冗长的
https://github.com/user/repo.git。
- 操作:
- 查看:
git remote -v
- 修改:
git remote set-url origin <新地址>
- 删除:
git remote remove origin


坷
KeBlog
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 坷窝!