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、