githug 闖關記錄

地址

githug是一個練習git技巧的小游戲.
它需要rubygem 來安裝.
以下是我對其闖關的記錄

安裝好githug后,運行githug play來進行第一關

Level-1
init: 進入git_hug 文件夾,運行git init

 $cd git_hug
 $git init

level-2
config: 設置git用戶的 name email

 $git config --global user.name "mopel"
 $git config --global user.email "amosbake@gmail.com"

level-3
add :添加新增文件"README"至待提交區(qū)

 $git add "README"

level-4
commit: 提交文件"REDME"

 $git commit -m'level-4'

level-5
clone: 將項目'cloneme' clone到本地

 $git clone https://github.com/Gazler/cloneme

level-6
clone: 將項目'cloneme' clone到指定文件夾

 $git clone https://github.com/Gazler/cloneme "my_clone_repo"

level-7
ignore: 添加忽略
solution: 新增.gitignore 文件 并添加規(guī)則 '*.swp'

level-8
include: 忽略后綴為.a的文件,但lib.a除外
編輯.gitignore如下

 .a
 !lib.a

level-9
status: 找出未加入提交區(qū)的文件

 $git status

level-10
status: 查看提交區(qū)的信息 -v 查看新增文件,待提交文件等信息

 $git status -v

level-11
rm:刪除移除提交區(qū)的文件

 $git status
 $rm deleteme.rb

level-12
-cache: 從提交區(qū)移除文件 --cached 保留文件 -f 刪除文件

 $git rm --cached deleteme.rb

level-13
stash: 保存修改,但不保存到提交區(qū)

 $git stash

level-14
rename: 為文件重命名

 $git mv "oldfile.txt" "newfile.txt"

level-15
move: 將文件轉移位置

 $git mkdir src
 $git mv "about.html" src

level-16
log: 查看提交記錄

 $git log

level-17,18
tag: 為提交打標簽

 $git tag
 $git log -a newtag -m"new_tag"

leve-19
commit-amend 修改上次提交

 $git commit --amend -m"amend"

level-20
commit-date 修改提交時間

 $git commit -m"new date" --date 2016/2/1

level-21
reset: 修改提交

 $git reset HEAD to_commit_second.rb

level-22
reset-soft: 取消上一次提交,并保留提交后的修改

 $git reset --soft HEAD^

level-23
checkout-file: 將特定文件重置到上一次提交的狀態(tài)

 $git checkout config.rb

level-24
remote: 查看遠程倉庫

 $git remote

level-25
remote-url:查看遠程倉庫鏈接

 $git remote-v

level-26
pull:遠程倉庫拉取數(shù)據(jù)到本地分支

 $git pull origin master

level-27
remote_add:添加遠程倉庫

 $git remote add origin https://github.com/githug/githug

level-28
push:遠程倉庫有新提交,先rebase然后push你的提交

 $git pull --rebase
 $git push

level-29
diff:顯示版本提交差異

 $git diff app.rb

tip:顯示@@ -23,7 +23.7 @@ 指下一行的行數(shù)

level-30
blame:逐行顯示修改歷史及提交者

 $git blame config.rb

level-31
branch:新建分支

 $git branch test_code

level-32
checkout_branch:切換到新建分支

 $git checkout -b my_branch

level-33,34
checkout_tag:切換到已標記提交

 $git checkout 'v1.2'
 $git checkout tags/v1.2 //存在同名分支

level-35
branch_commit: 將已有提交切換到新建分支

 $git branch test_branch 57bf12a4 //最后為提交的哈希值

level-36
delete_branch: 刪除分支

 $git branch -d delete_me

level-37
remote_push: 推送單一分支到遠端

 $git push origin test_branch 

level-38
merge: 合并其他分支

 $git merge feature

level-39
fetch: 查看遠程倉庫情況

 $git fetch

level-40
rebase: 合并分叉分支,使分叉歷史消失

 $git checkout feature
 $git merge master

level-41
repack: 打包倉庫 -d:移除多余的包

 $git repack -d

level-42
cherry-pick: 添加某個或多個commit到現(xiàn)有分支中
場景:增加新功能,但不沿用新功能分支中的其他提交

 $git cherry-pick ca32a6da //sha-1值

level-43
grep: 查找?guī)熘心扯挝淖?br> 場景:查看有多少TODO

 $git grep TODO -n//附加行數(shù)

level-44
rename_commit: 修改以往提交commit的信息

 $git log //查找目標commit的sha-1值
 $git rebase -i 4e9934f //進入rebase的修改vim界面
 //將目標commit之前的'pick' 改為 'reword'
 //進入修改提交信息vim,進行修改

level-45
combie_commit: 合并提交

 $git log //查看需要合并的提交
 $git rebase -i HEAD~3 //rebase 到合并提交之前
 //在修改vim界面 將需要合并的提交之前的'pick'改為'squash'或's'
 //寫入新的提交信息

level-46
squash_merge: 合并merge

 $git merge long-feature-branch --squash
 //提示需要進行提交來繼續(xù)
 $git commit -m'all'

level-47
reorder: 修改提交順序

 $git log //查看需要合并的提交
 $git rebase -i HEAD~3 //rebase 到修改提交之前
 //在修改vim界面,調整commit順序

level-48
bisect: 查找錯誤提交
場景: 發(fā)現(xiàn)在提交中有一個錯誤提交,用測試方法'run test' 來找出錯誤提交

 $git log //查看提交歷史
 $git bisect start//開始查找
 $ git bisect bad 7c0dcfa //標記壞節(jié)點
 $ git bisect good master 34567ab//標記好節(jié)點
 //git 自動幫我們找出中間節(jié)點
 $git bisect run make test //自動運行測試命令
 //git提示說找到錯誤節(jié)點

level-49
stage: 應用部分分支上的修改
場景: 某個文件在當前分支和另一個分支上都被修改了,使其應用當前分支的修改

 $git status //查看提交庫
 $git add -p //進入add 命令界面
 //選擇e(dit) 修改文件 

level-50
reflog: 查看操作記錄
場景: 某個提交找不到了或被錯誤刪除了

 $git reflog

level-51
revert: 撤銷提交
場景: 某個提交出錯,但不能修改提交記錄 (不能用reset)

 $git revert HEAD~1 //不破壞原有commit記錄,新增了一個commit

level-52
restore:恢復被`reset --HARD'的現(xiàn)場

 $git reflog //查看操作記錄
 $git checkout e456754//簽出到未破壞的現(xiàn)場

level-53
conflict:解決合并沖突

 $git merge mybranch
 $vim poem.txt
 $git commit -a -m'merge'

level-54
submodule:添加git倉庫的子模塊
場景:需要對依賴庫進行修改和版本控制,且易于統(tǒng)一控制

 $git submodule add https://github.com/include_me

額外情況: 下載別人包括submodule的庫

 $git clone https://github.com/foo
 $cd foo
 $git submodule init
 $git submodule update //更新依賴庫
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末闽瓢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌册着,老刑警劉巖环壤,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡凶赁,警方通過查閱死者的電腦和手機观蜗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門臊恋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人墓捻,你說我怎么就攤上這事抖仅。” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵岸售,是天一觀的道長践樱。 經(jīng)常有香客問我,道長凸丸,這世上最難降的妖魔是什么拷邢? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮屎慢,結果婚禮上瞭稼,老公的妹妹穿的比我還像新娘。我一直安慰自己腻惠,他們只是感情好环肘,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著集灌,像睡著了一般悔雹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欣喧,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天腌零,我揣著相機與錄音,去河邊找鬼唆阿。 笑死益涧,一個胖子當著我的面吹牛,可吹牛的內容都是我干的驯鳖。 我是一名探鬼主播闲询,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浅辙!你這毒婦竟也來了扭弧?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤摔握,失蹤者是張志新(化名)和其女友劉穎寄狼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氨淌,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡泊愧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了盛正。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片删咱。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖豪筝,靈堂內的尸體忽然破棺而出痰滋,到底是詐尸還是另有隱情摘能,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布敲街,位于F島的核電站团搞,受9級特大地震影響,放射性物質發(fā)生泄漏多艇。R本人自食惡果不足惜逻恐,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峻黍。 院中可真熱鬧复隆,春花似錦、人聲如沸姆涩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽骨饿。三九已至亏栈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間样刷,已是汗流浹背仑扑。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留置鼻,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓蜓竹,卻偏偏與公主長得像箕母,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俱济,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內容