分享一个学习git的图形化学习网站-Learn Git Branching参考答案整理
分享一個學習git的圖形化學習網站:Learn Git Branching 初次學習點這里
這個鏈接可以跳過前面的幫助信息直接進入:Learn Git Branching 老手點這里
LearnGitBranching 是什么
LearnGitBranching是一個git仿真沙盒,提供一系列的交互式學習指導/挑戰,用來加快學習git提交樹如何工作。 此項目由pcottle發表在github上,并被翻譯到了法語、韓語、日語以及中文。
LearnGitBranching的主界面左邊是模擬終端窗口,右邊是圖示區。圖示區用圖形表明了git代碼庫當前的提交記錄、分支、HEAD指向等。
目錄
- LearnGitBranching 是什么
- LearnGitBranching 如何使用
- 游戲的控制指令
- 基礎篇
- 1.Git Commit
- 2.Git Branch
- 3.Git Merge
- 4.Git Rebase
- 高級篇
- 1.分離 Head
- 2.相對引用 ^
- 3.相對引用2 ~
- 4.撤銷變更
- 移動提交記錄
- 1.Git Cherry-pick
- 2.交互式 rebase
- 移動提交記錄
- 1.只取一個提交記錄
- 2.提交的技巧 #1
- 3.提交的技巧 #2
- 4.Git Tag
- 5.Git Describe
- 高級話題
- 1.多次 Rebase
- 2.兩個父節點
- 3.糾纏不清的分支
- 高能
- 遠程
- 1.Git Clone
- 2.遠程分支
- 3.Git Fetch
- 4.Git Pull
- 5.模擬團隊合作
- 6.Git Push
- 7.偏離的提交歷史
- 關于 origin 和它的周邊 —— Git 遠程倉庫高級操作
- 1.推送主分支
- 2.合并遠程倉庫
- 3.遠程追蹤
- 3.遠程追蹤
- 4.Git Push的參數
- 5.Git Push的參數 2
- 6.Git Fetch的參數
- 7.沒有source的source
- 8.Git Pull的參數
LearnGitBranching 如何使用
LearnGitBranching通過關卡的形式,逐步展開對git的學習。每一關開始是對要學習的主題的一些介紹,包含操作原理,要使用到的命令,以及命令執行后的圖示。介紹完成之后,會顯示這一關的goal。在輸入命令并執行后,右邊的代碼庫圖示會自動更新以呈現最新狀態。
根據關卡題目,輸入并執行正確的命令,當程序匹配到通關需要的結果時即可以過關。
如果要跳過每一關開始的介紹,可以按Esc。右下角的兩個按鈕分別是幫助菜單與語言選擇。
游戲的控制指令
| reset | 重新開始本關卡 |
| levels | 選擇關卡 |
| objective | 顯示提示信息 |
| show goal | 顯示目標 |
| hide goal | 隱藏目標 |
| undo | 撤銷 |
| help general | 顯示程序幫助 |
| help level | 顯示當前關卡幫助 |
下面是Learn Git Branching 闖關答案總結整理,建議先練習,不會的部分再參考
基礎篇
1.Git Commit
git commit git commit2.Git Branch
git branch bugFix git checkout bugFix3.Git Merge
git checkout -b bugFix git commit git checkout master git commit git merge bugFix4.Git Rebase
git checkout -b bugFix git commit git checkout master git commit git checkout bugFix git rebase master高級篇
1.分離 Head
git checkout c42.相對引用 ^
最優解:
git checkout bugFix^其他解:
git chekcout bugFix git checkout HEAD^3.相對引用2 ~
可以直接使用 -f 選項讓分支指向另一個提交。
git branch -f master HEAD~3
上面的命令會將 master 分支強制指向 HEAD 的第 3 級父提交。
git branch -f master c6 git branch -f bugFix c0 git checkout c14.撤銷變更
reset: (local)
git reset通過把分支記錄回退幾個提交記錄來實現撤銷改動。你可以將這想象成“改寫歷史”。git reset 向上移動分支,原來指向的提交記錄就跟從來沒有提交過一樣。
revert: (pushed)
雖然在你的本地分支中使用git reset很方便,但是這種“改寫歷史”的方法對大家一起使用的遠程分支是無效的哦!為了撤銷更改并分享給別人,我們需要使用git revert。
revert 之后就可以把你的更改推送到遠程倉庫與別人分享啦
或
git reset C1 git checkout pushed git revert C2移動提交記錄
1.Git Cherry-pick
git cherry-pick c3 c4 c72.交互式 rebase
交互式 rebase 指的是使用帶參數 --interactive 的 rebase 命令, 簡寫為 -i
如果你在命令后增加了這個選項, Git 會打開一個 UI 界面并列出將要被復制到目標分支的備選提交記錄,它還會顯示每個提交記錄的哈希值和提交說明,提交說明有助于你理解這個提交進行了哪些更改。
git rebase -i HEAD~4移動提交記錄
1.只取一個提交記錄
git rebase -i HEAD~3 git branch -f master bugFix或者
git cherry-pick bugFix git branch -f master bugFix2.提交的技巧 #1
git rebase -i HEAD~2 #修改C2和C3的順序 git commit --amend git rebase -i HEAD~2 #修改C3'和C2''順序 git branch -f master3.提交的技巧 #2
git checkout master git cherry-pick newImage git commit --amend git cherry-pick caption4.Git Tag
git tag v0 c1 git tag v1 c2 git checkout c25.Git Describe
由于標簽在代碼庫中起著“錨點”的作用,Git 還為此專門設計了一個命令用來描述離你最近的錨點(也就是標簽),它就是 git describe!
Git Describe 能幫你在提交歷史中移動了多次以后找到方向;當你用 git bisect(一個查找產生 Bug 的提交記錄的指令)找到某個提交記錄時,或者是當你坐在你那剛剛度假回來的同事的電腦前時, 可能會用到這個命令。
git describe 的語法是:
git describe <ref>可以是任何能被 Git 識別成提交記錄的引用,如果你沒有指定的話,Git 會以你目前所檢出的位置(HEAD)。
它輸出的結果是這樣的:
<tag>_<numCommits>_g<hash>tag 表示的是離 ref 最近的標簽, numCommits 是表示這個 ref 與 tag 相差有多少個提交記錄, hash 表示的是你所給定的 ref 所表示的提交記錄哈希值的前幾位。
當 ref 提交記錄上有某個標簽時,則只輸出標簽名稱。
git commit高級話題
1.多次 Rebase
git rebase master bugFix git rebase bugFix side git rebase side another git branch -f master another2.兩個父節點
git branch bugWork HEAD~^2~3.糾纏不清的分支
git checkout one git cherry-pick c4 c3 c2 git checkout two git cherry-pick c5 c4 c3 c2 git branch -f three c2高能
查看答案命令
show solution遠程
Push & Pull —— Git 遠程倉庫!
1.Git Clone
git clone2.遠程分支
git commit git checkout o/master git commit3.Git Fetch
git fetch4.Git Pull
git pull就是git fetch和git merge 的縮寫。
git pull5.模擬團隊合作
git clone git fakeTeamwork 2 git commit git pull6.Git Push
git commit git commit git push7.偏離的提交歷史
git pull --rebase就是fetch和rebase的簡寫。
git clone git fakeTeamwork 1 git commit git pull --rebase git push關于 origin 和它的周邊 —— Git 遠程倉庫高級操作
1.推送主分支
git fetch git rebase o/master side1 git rebase side1 side2 git rebase side2 side3 git rebase side3 master git push2.合并遠程倉庫
git checkout master git pull origin master git merge side1 git merge side2 git merge side3 git push origin master3.遠程追蹤
git checkout -b side o/master git commit git pull --rebase git push3.遠程追蹤
git branch -f side master git commit git pull --rebase git push4.Git Push的參數
git push origin master git push origin foo5.Git Push的參數 2
git push origin foo:master git push origin master^:foo6.Git Fetch的參數
git fetch origin master^:foo git fetch origin foo:master git checkout foo git merge master或
git pull origin master^:foo git pull origin foo:master git branch -f foo git checkout foo7.沒有source的source
git pull origin :bar git push origin :foo8.Git Pull的參數
git pull origin bar:foo git pull origin master:side都看到這了,點個贊再走唄~~
總結
以上是生活随笔為你收集整理的分享一个学习git的图形化学习网站-Learn Git Branching参考答案整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSDN博文编辑技巧-如何去除上传的图片
- 下一篇: OBD技术速成——J1850协议概述