githug闯关记录(1-10)

githug闯关记录(11-20)

githug闯关记录(21-30)

githug闯关记录(31-40)

githug闯关记录(41-55)

githug闯关记录

githug准确的说应该是一款游戏,把Git的常用场景变成关卡。Git是Linux之父开发用于管理自己内核源代码的版本控制系统,后来开源,Github也因此成为全球最大的同性交友平台了。Git是一个非常强大的远程代码仓库管理平台,而Github则是最大的代码仓库。

这次闯关之前,还要感谢@hkliya大大写的攻略,我是看着攻略过的,进步了好多很多,也学习到了很多。

多图加长文预警~~~~


安装

首先githug是使用Ruby编写的,先去百度Ruby官网下载环境安装。

我的是在win下折腾的。linux直接内置了ruby环境。

安装githug,使用下面的命令

gem install githug

安装成功后,cmd运行githug,会提示创建目录,确认创建就行。

然后 cd git_hug进入游戏目录,准备开始游戏。


基本命令

  • play 默认命令,检查是否过关

  • hint 显示过关提示

  • reset 重启本关,或者重启到指定的某关

  • levels 显示关卡列表


28关之前的关卡没有记录,本来想重新玩时记录的,后面的关卡也出了问题

卸载重装时出现了问题


原来是被墙了,翻出下载之。。本地gem安装

gem install ./gem_name --local

那就重新玩吧

第一关

A new directory, git_hug, has been created; initialize an empty repository in it.

githug hint看下帮助。

You can type git in your shell to get a list of available git commands.

提示用git看看有什么可以用的命令。


第二关

Set up your git name and email, this is important so that your commits can be identified.

设置你的名字和邮箱。版权很重要(我现在也很尊重版权了呢)



我明明都已经卸载了,不知道信息为什么没有完全清除。

第三关

There is a file in your folder called README, you should add it to your staging area. Note: You start each level with a new repo. Don't look for files from the previous one.

添加README文件


第四关

The README file has been added to your staging area, now commit it.


第五关

Clone the repository at https://github.com/Gazler/cloneme.


第六关

Clone the repository at https://github.com/Gazler/cloneme to my_cloned_repo.


第七关

The text editor 'vim' creates files ending in .swp (swap files) for all files that are currently open. We don't want them creeping into the repository. Make this repository ignore .swp files.

这是一个在用Vim编辑文件时,会产生一个.swp文件,作用是在不小心退出或者Vim崩溃后,再次编辑这个文件,就会提示存在一个.swp文件,询问是否恢复。

它属于临时文件,显然不应该提交到VCS里去,所以git有个机制可以帮我们过滤某些文件。



第八关

Notice a few files with the '.a' extension. We want git to ignore all but the 'lib.a' file.

这一关是上一关的延伸,忽略某类文件,但排除其中特定的一个。


根据帮助我们知道了,可以用 ! 来对模式取反。


所以我们编辑 .gitignore,追加如下两行:

*.a
!lib.a



成功过关!

第九关

There are some files in this repository, one of the files is untracked, which file is it?

git status 是一个非常常用的命令。给它起个别名,自己爱好。

git config --global alias.st status


第十关

There are some files in this repository, how many of the files will be committed?

这两关都是考察基本概念,一个文件的几种状态:

  • untracked - 新增的文件,Git 根本不知道它的存在

  • not staged - 被索引过又被修改了的文件

  • staged - 通过 git add 后被即将被提交的文件


这里一看状态就知道了,如果现在执行 git commit,只有最上面的两个文件会被 commit。


最后由 不一样的少年 编辑于2016年12月20日 18:15