首页 > 技术文章 > githug windows 通关流程

zhaozilongcjiajia 2019-09-23 17:30 原文

https://www.zybuluo.com/lunar/note/328163#15-重构-restructure

githug是一个用于熟悉git的小游戏,运行在ruby的环境下。

一、安装过程:

1、需要先安装ruby:https://rubyinstaller.org/,不过官网比较慢,可以通过其他途径下载。

2、安装ruby完毕后,安装githug:gem install githug

 

 3、安装好之后,输入githug运行。

二、通关流程

(githug hint 指令可以查看提示)

1、

 题目:需要在git_hub文件夹下初始化(建立)该仓库;

PS:每次操作完毕后输入“githug play”来验证结果并进入下一关; 

 

2、

 题目:设置你的名字和邮箱

答案:这里我设置的是仓库的信息,不是全局的。想要设置全局的,把local改成global

 

 3、

 题目:文件夹下有一个 README 文件,将其添加到 staging area

 答案:

 

4、

 题目:提交仓库,可以使用-m参数来添加备注

 答案:

 

 5、

 题目:克隆一个远程的仓库

 答案:

 

 

6、

 题目:克隆一个仓库并命名该文件夹名字

 答案:

 

7、

 题目:设置仓库使其忽略所有 .swp 后缀名的文件

 答案:编辑文件夹下的.gitignore文件,添加"*.swp":

 

 

 

8、

 题目:忽略所有.a后缀名的文件,除了lib.a

 答案: 

 

 

9、

 题目:找到处于 untracked(未提交到git)状态的文件

 答案:

 

 

10、

 题目:查看会被提交的文件是哪些?

 答案:与上一关一样,使用git status查看各文件状态

 

 

11、

 题目:有个文件从硬盘中删除了,但是还没在仓库中删除,现在将其删除

 答案:删除并提交

 

 

 12、

 题目:有个文件在暂存区内,将其从git中删除,且不要从文件盘中删除。

 答案:

 

 

 13、

 题目:临时保存某个文件,但不提交

 答案:

 

 

 14、

 题目:重命名一个文件

 答案: 

 

 

 15、

 题目:建立一个“src”文件夹,把所有的.html文件全放进去

 答案:

 (这里应该是git mv *,html src/的,但是一直提示bad source)

 

16、

 题目:找到最近提交的哈希值(可用log指令查看提交的信息)

答案:

 

 17、

 题目:为当前的commit添加一个tag为“new_tag”

答案:

 

 

 18、

 题目:将本地tag提交到远程的仓库

答案:(通过--tags参数将所有tag进行提交)

 

 19、

 题目:有个文件在上次提交中被忽略了,现在添加该文件到上次的提交中。

答案:使用--amend参数可以修改上次的提交

 

 20、

题目:使用明天的时间进行提交

(PS:提示实在是太皮了,如下)

答案:

 

 

 21、

 题目:两个文件都被添加到了暂存区, 但是只想提交其中一个

答案:

 

 22、

 题目:撤销上一次的提交,且不改变文件目录,即软撤回

答案:

 

 23、

 题目:将该文件回撤到上次的commit

 答案:

 

 24、

 题目:这个项目有个远程的仓库,找出它

答案:

 

 

 25、

 题目:远程仓库有个url地址,找出它

答案:

 

26、

题目: 从远程仓库pull(拉取)项目

答案:

 

 27、

 题目:添加一个远程仓库

答案:

 

 28、

题目: 将修改后的仓库提交到远程仓库,注意,这里要使用rebase

答案:

 

29、

 题目:找出跟上次commit相比,提交的是哪一行?

答案:用diff指令进行比较,从a文件的第23行取出7行和b文件的第23行开始的7行作比较,其实只修改了一行。白色的表示没改动,红表删除,绿表添加。

 

 30、

 题目:有人在文件中输入了一个密码,那个人是谁?

答案:

 

 31、

题目: 创建分支

答案:

32、

题目:创建分支并切换到该分支

答案:

 

 33、

 题目:切换到v1.2的提交上

答案:

 

 34、

题目:切换到v1.2的提交上(有个相同名称的分支)

答案: 

 

 35、

题目:在更早的一次commit创建一个分支

答案:先用checkout回到上一次的commit,再创建分支

 

 

 36、

 

 

 题目:删除分支

答案:

 

 

 37、

 

 

 题目:推送分支

答案:

 

 38、

 

题目: 合并分支

答案:用merge指令将另一个分支合并到当前分支

 

 39、

 

推荐阅读