這是一個系列文章,介紹學習 Git 的一個小遊戲 - githug,如果你是第一次看到,請先閱讀:
闖過這 54 關,點亮你的 Git 技能樹
闖過這 54 關,點亮你的 Git 技能樹(一)
闖過這 54 關,點亮你的 Git 技能樹(二)
闖過這 54 關,點亮你的 Git 技能樹(三)
今天我將帶大家完成第 31 - 40 關,如對任何命令使用有疑問請看第一篇裏的推薦教程。
第三十一關
最近得了一場很嚴重的病差點兒沒挺過來 - 懶癌。讓關注此係列的朋友久等了,在這裏向你致以最真誠的歉意。
今天我將帶大家完成第 31 - 40 關,如對任何命令使用有疑問請看第一篇裏的推薦教程。
第三十一關
當準備做的事情有可能會破壞其它東西時,爲了不影響其他同事的開發工作,我們通常會拉一個分支出來,在分支上去做修改。
第三十二關
上一條命令只是創建了一個新的分支,並沒有 checkout
過去,習慣做法通常是直接 git
checkout -b xxx
,創建並 checkout
到新的分支。
如果使用 oh-my-zsh 的 git 插件的話,可以用 gbc
,意思是:git
branch create
。
第三十三關
版本 1.2 存在 bug,這裏我們需要切換到 1.2 的代碼以定位問題。Checkout tag 和分支沒有什麼區別。
第三十四關
但當存在同名的 tag 和分支時,git 不知道我們究竟是要 checkout 到 tag 還是到分支,它認爲分支的優先級更高。
這時就要顯式地告訴 git 我們是要切換到 tag。
第三十五關
有時忘記開新的分支,就修改並提交了代碼。開分支的時候默認是基於最新的一次提交的,但我們也可以指定參數使其基於任一次提交。
第三十六關
分支開太多就不好管理,不管使用哪種分支模型,只有很少的分支會長期存在,大部分分支都是臨時的,在代碼合併後就會刪除掉。
第三十七關
有時候在特性分支上提交了代碼,但還不能併入主幹,卻又希望和別的同事分享(比如需要他們幫做 Code Review),那就需要把分支 push 到遠程倉庫中去。
第三十八關
第三十九關
當遠程倉庫有更新,但我們並不想合併到本地倉庫,只想把代碼拿下來看看,我們會用到 fetch 命令。