好吧,找到了一个和 git 有关的游戏: https://github.com/Gazler/githug
遂玩之… 挺有意思的..
安装
|
|
第一关 仓库初始化
|
|
第二关 配置
|
|
第三关 Stage
|
|
第四关 commit
|
|
第五关 clone
|
|
第六关 clone 到文件夹
|
|
第七关 .gitignore
|
|
第八关 .gitignore 规则
|
|
第九关 status
|
|
第十关 commit 文件数
|
|
第十一关 移除
|
|
第十二关 取消追踪
|
|
第十三关 hash
|
|
第十四关 重命名
|
|
第十五关 重构
|
|
第十六关 日志
|
|
第十七关 tag
|
|
第十八关 提交 tag
|
|
第十九关 修正 commit
|
|
第二十关 设置 commit 时间
|
|
这个提示是个什么鬼啊(╯‵□′)╯︵┻━┻要不要这么卖萌
|
|
第二十一关 重置
|
|
第二十二关 撤销 commit
|
|
第二十三关 撤销 commited 文件
|
|
第二十四关 远程仓库
|
|
第二十五关 远程仓库地址
|
|
第二十六关 pull
|
|
第二十七关 关联远程库
|
|
第二十八关 rebase & push
|
|
第二十九关 diff
|
|
第三十关 查看修改日志
|
|
或者
|
|
第三十一关 branch
|
|
第三十二关 checkout
|
|
第三十三关 checkout tag
|
|
第三十四关 区分 tag 和 branch
|
|
第三十五关 在历史 commit 中创建分支
|
|
第三十六关 删除分支
|
|
第三十七关 push 分支
|
|
第三十八关 merge
|
|
第三十九关 fetch
|
|
第四十关 rebase
|
|
第四十一关 repack
|
|
第四十二关 cherry-pick
|
|
第四十三关 git-grep
|
|
第四十四关 修改历史日志
|
|
这里要求修改 commit 内容,里面的 commit 被写成了 coommit。
第四十五关 合并多次 commit
|
|
这里可以看到最近三次 commit 都要求被合并到 倒数第四次 commit 中。
|
|
看下面的要求,把第二行至第四行的 pick 改为 s 或 squash 即可。
第四十六关 合并提交
|
|
第四十七关 调整 commit 顺序
|
|
能够看到倒数两次的 commit 顺序错误。
|
|
将 pick 两行顺序对调,1yy 可以复制整行,p 可以进行粘贴(此属于 vim 的内容)。
第四十八关 测试驱动排错
|
|
我们从第一次提交来开始搜索,这里能够拿到第一次 commit 的 hash 为 f608824888b83bbedc1f658be7496ffea467a8fb
|
|
上面能够看到 18ed2ac1522a014412d4303ce7c8db39becab076 is the first bad commit。
第四十九关 stage 单个文件的部分
|
|
进入编辑后删除 The second feature 所在行(dd)。
第五十关 查看操作历史
|
|
第五十一关 撤销某次历史提交
|
|
第五十二关 返回历史版本 or 从历史版本中恢复
|
|
虽然我直接切到历史版本中也过了。。但是这题的本意是要求从历史版本中恢复,所以其实应该使用:
|
|
第五十三关 解决冲突
|
|
删除文本中的冲突标记,再 commit。
|
|
第五十四关 使用子模块
|
|
第五十五关 是什么呢
自己玩吧:)