开篇
如今,Git 大行其道,颇有一统天下之势。
如果你的技能树上 Git 和 Github 的图标还没有点亮的话,你都不好意思说你是程序员。
别说互联网企业,我接触到的许多传统企业都在从 SVN,Clear Case 等迁移到 Git 上,甚至大厂还会有一个团队去定制适合自己企业的 Git 服务器。
很多人简历上写的「精通 Git 与 Github」,但如果你问他熟悉到什么程度的话,回答通常是「就是会用常用的add
,commit
,push
操作」。
但工作中我们会遇到一些更加复杂的场景:
* 忽略某些文件
* 创建,删除分支
* 找到最后修改某行代码的人
* commit 后发现里边包含一个不应该提交的文件
* commit 后发现少提交了一些文件
* 一个文件中的多次有改动,怎么做到只提交其中的一部分?
* 怎样整理提交记录使其更加整洁?
* 快速定位是哪一次提交引入了 bug
* ...
作为一线程序员,我们要如何快速学习 Git 以发挥其最大威力呢?
今天我就要向大家介绍一个工具,准确说应该是「游戏」,名字叫「githug」,它把平常可能遇到的一些场景都实例化,变成一个一个的关卡,一共有 55 个关卡:
#1: init
#2: config
#3: add
#4: commit
#5: clone
#6: clone_to_folder
#7: ignore
#8: include
#9: status
#10: number_of_files_committed
#11: rm
#12: rm_cached
#13: stash
#14: rename
#15: restructure
#16: log
#17: tag
#18: push_tags
#19: commit_amend
#20: commit_in_future
#21: reset
#22: reset_soft
#23: checkout_file
#24: remote
#25: remote_url
#26: pull
#27: remote_add
#28: push
#29: diff
#30: blame
#31: branch
#32: checkout
#33: checkout_tag
#34: checkout_tag_over_branch
#35: branch_at
#36: delete_branch
#37: push_branch
#38: merge
#39: fetch
#40: rebase
#41: repack
#42: cherry-pick
#43: grep
#44: rename_commit
#45: squash
#46: merge_squash
#47: reorder
#48: bisect
#49: stage_lines
#50: find_old_branch
#51: revert
#52: restore
#53: conflict
#54: submodule
#55: contribute
安装
首先我们需要来安装这个游戏,githug
是用
Ruby 编写的,可通过如下命令安装:
gem
install githug
如果遇到权限问题,请加上sudo
:
sudo
gem install githug
安装成功后,在 Terminal 里进入你常用的目录,输入githug
,会提示游戏目录不存在,是否要创建一个,输入y
然后回车:
根据提示
cd git_hug
进入游戏目录,准备开始游戏。
基本命令
在开始前我们还需要了解游戏的一些基本操作:
-
play - 默认命令,检查是否过关
-
hint - 显示过关提示
-
reset - 重启本关,或者重启到指定的某关
-
levels - 显示关卡列表
来试一下,githug
reset
:
示例
我以第一关为例子给大家演示一下玩法。
第一关的名称是:init
,提示是:「一个新目录
git_hug 被创建了,请把它初始化为一个空仓库」。
假设现在我不知道该怎么过关,我可以查看过关提示:
指示是:「你可以输入
git
命令来查看
git
命令列表」。
看最后一行,原来用
git init
就可以初始化一个空仓库,接着输入
githug
进行过关检测:
太棒了!顺利进入第二关!
怎么样?明白了吗?后面的 54 关就靠你自己了哦
分享到:
相关推荐
这个"一个C++初学者做的小游戏"很可能就是一个基于控制台的文本游戏,因为描述中提到"里面没有图像,全是COUT"。COUT是C++标准库中的一个输出流对象,用于在控制台上打印文本,它是iostream库的一部分。 1. **C++...
10. **版本控制**:使用Git进行版本控制可以方便团队协作和代码回溯,理解Git的基本命令如commit、push、pull、branch和merge等。 总的来说,这个项目涵盖了从后端开发、前端实现、数据库设计、游戏逻辑到微信接口...
在本项目中,"Java使用SWT JFreeChart控件实现的小游戏.zip" 提供了一个基于Java编程语言的游戏开发示例。这个项目适用于学生进行毕业设计、课程设计或自我学习,帮助他们掌握Java后端开发技能,特别是使用图形用户...
这款小游戏深受用户喜爱,因为它结合了2048的经典玩法与微信小程序的便捷性,玩家无需下载安装,只需在微信内搜索即可体验。接下来,我们将深入探讨这款小程序背后涉及的IT知识点。 1. **微信小程序开发环境**:...
理解Git的基本命令(如git clone、git add、git commit和git push)对于协作开发和代码版本管理至关重要。 总的来说,这个项目涵盖了Java编程、GUI设计、Spring框架的应用以及基本的软件工程实践。通过参与这样的...
这要求开发者熟悉Git命令,如clone、commit、push和pull等,以及GitHub或类似的代码托管平台。 综上所述,这个项目涵盖了C#编程、数据库设计、游戏AI基础、用户界面开发、代码复用与版本控制等多个IT领域的知识,...
7. **版本控制**:源码可能使用Git等版本控制系统进行管理,学习基本的Git命令对理解项目历史和协同开发很有帮助。 8. **微信开放平台**:对于微信游戏,开发者需要注册微信开放平台账号,获取AppID,以便在游戏中...
微信小游戏通常基于微信提供的JS SDK,该SDK提供了与微信接口交互的能力,包括获取用户信息、分享到朋友圈、支付等。开发者需要熟悉微信开发者文档,理解如何正确使用这些接口。 三、“测测你下半年的发财关键”...
- **命令模式:** 用于解耦发送者与接收者,使得发送者不必知道命令的具体接收者。 - **事件监听器:** 用于接收并处理来自用户界面的事件,如按键事件、鼠标事件等。 **4.7 Display 类相关技术与知识点** - **...
5. **Git版本控制**:gameTips-master的命名表明项目使用Git进行版本管理,开发者可以了解如何使用git clone、git commit、git push等命令来协同开发和版本控制。 6. **项目结构**:一个完整的微信小程序项目通常...
通过分析和学习《Funcode C++游戏黄金矿工》,初学者不仅可以熟悉C++编程,还能掌握游戏开发的基本流程,为今后的项目奠定坚实的基础。在实践中不断迭代和优化,将使游戏变得更加完善,也进一步提升个人的编程技能。
开发者应熟悉Git的基本命令,如commit、push、pull等,以及分支管理和合并冲突的处理。 8. **文档与注释**:清晰的代码文档和注释能帮助他人理解代码逻辑,也是项目交付的重要部分。开发者需编写README文件,解释...
【微信小程序滑块拼图游戏】是一个基于微信小程序平台开发的小型娱乐应用,它利用了微信小程序提供的API和框架,为用户提供了简单的拼图游戏体验。这个项目涉及到的知识点广泛,包括前端开发、微信小程序开发规范、...
7. **游戏开发**:项目包含小游戏源代码,这部分可能使用Pygame库,需要了解游戏逻辑设计、事件处理、图形绘制和动画制作等相关知识。 8. **程序文档和使用说明**:附带的程序使用说明和配置文件,帮助用户理解项目...
描述中提到的"自己做的小项目,为gec6818上的2048小游戏",意味着这是一个个人开发的项目,特别设计在gec6818平台上运行。gec6818通常指的是一个嵌入式开发板或者微控制器,可能是基于ARM架构的硬件平台,用于教学或...
Spooty是一个正在积极开发中的小游戏库,专为海绵(Sponge)或Bukkit服务器平台设计。这个库的目标是为开发者提供一系列预构建的游戏模式和框架,以便他们可以轻松地创建和管理自己的迷你游戏。Spooty的核心功能可能...
代码仓库地址为***,用户可以通过执行"git clone"命令来获取所需代码。 综上所述,该实验文档详细描述了如何在Python环境下使用wxpython库来创建GUI应用程序,包括环境的搭建、窗口的创建与管理、以及如何在窗口中...
1. **微信小程序开发**:微信小程序提供了自己的开发环境和语言(WXML和WXSS),开发者需要熟悉这些语言以及小程序的API,包括网络请求、页面跳转、用户授权等。 2. **地图定位API**:微信小程序提供了一套完整的...
10. **版本控制**:项目通常使用Git进行版本控制,开发者需要了解基本的Git命令,如commit、push、pull、branch、merge等,以便团队协作和代码管理。 通过这个"school-system"项目,开发者不仅可以提升JavaScript...
- **命令行接口(CLI)编程**:游戏通过命令行操作,展示了如何利用操作系统命令进行游戏的启动和控制,这对于熟悉Git和其他命令行工具的开发者来说是个不错的实战演练。 - **Node.js和npm**:了解了如何在Node环境...