文章目录
一、githug安装
官方提示的命令是:gem install githug
我在这个地方就遇到了两个错误
1. ERROR: While executing gem … (Gem::FilePermissionError)
解决办法
vim ~/.gemrc
添加如下,即可解决:
:gemdir:
- ~/.gem/ruby
install: --user-install
2. gem executables will not run
出现一个warning:gem executables will not run.
解决办法,cd/etc 添加环境变量:
export PATH="/Users/xxx(你的终端名字)/.gem/ruby/2.6.0/bin:$PATH"
//可以复制上一段的错误提示
然后选择一个文件夹进入
输入,就可以了
githug
githug命令
在闯关之间先学习 githug 的4个内部命令:
githug play
:闯关,即验证你是否已经完成了关卡要求的任务,如果完成了,就会自动跳到下一关。因为这个命令最常用,所以可以缩写成 githug,省略后面的 play。
githug hint
:提示,如果你对某个任务没有头绪,可以从这个提示信息得到一些启发。
githug reset
:重置,执行任务的过程是用 git 命令操作文件,但是如果改来改去地把文件弄乱了想重新过这关,就要用这个命令恢复到初始状态。
githug levels
:查看55关的各自名称。
二、通关攻略
1. init
A new directory, git_hug
, has been created; initialize an empty repository in it.
cd git_hug
git init
2. config
第二步需要进入git_hug这个文件夹,输入githug就可以看到下一步该干什么了
name && email
输入姓名和邮箱
3. add
文件夹中有一个名为“ README”的文件,应将其添加到暂存区中
git add README
4. commit
提示说README在暂存去,需要提交commit
git commit -m "add readme"
5. clone
克隆一个仓库
git clone https://github.com/Gazler/cloneme
6. clone_to_folder
指定一个文件夹克隆一个仓库
git clone https://github.com/Gazler/cloneme my_cloned_repo
7. ignore
使用vim打开.gitignore
的文件,忽略.swp
的文件
vim .gitignore
i //
*.swp //输入
//编辑方法
esc// 按住
:输入
wq输入
8. include
希望git忽略除lib.a
文件以外的所有.a
文件。
vim .gitignore
*.a
!lib.a
9. status
该存储库中有一些文件,其中一个文件untracked,它是哪个文件?
git status //显示为红色的就是untracked文件
再输入githug play
输入文件名字就OK
10. number_of_files_committed
查看处于 staged 状态的文件
git status//绿色文件就是未提交
//use "git restore --staged <file>..." to unstage
githug play
2 //2个文件
11. rm
文件已在本地已经中删除,但是该文件未从git仓库中删除。 找出此文件是什么并将其从git仓库删除。
git status
git add deleteme.rb
git commit -m "delete deleteme.rb"
12. rm_cached
从暂存区中删除这个文件,但不用从系统中删除,即不会真正的删除物理文件
git status
git rm --cached deleteme.rb
13. stash
对某个文件进行了一些更改,并希望稍后进行处理。 现在应该保存它们,但不要提交它们。
如果需要恢复某次提交,使用 git stash apply
git status
git stash
git status
14. rename
有一个名为“ oldfile.txt”的文件。 希望将其重命名为newfile.txt
并进行此更改。
ls
git mv oldfile.txt newfile.txt
git status
ls //可以查看到文件名字已经修改
15. restructure
移动所有 .html 文件到 src 文件夹。git mv 后面的第二个参数可以接受文件或目录,如果是目录,则文件会直接放入目录内,可以使用正则(glob模式)匹配所有 .html 文件
git status
mkdir src
git mv *.html src
后期继续更新。。