回到文章列表

L1:學習 Git 的部分

TWGD / 2018-08-22

自學教材:「為你自己學 Git」

看過第一堂影片大致了解 Git 的用途後,主要以:為你自己學 Git 作為主要自學的教材。照著章節順序全部跟著學習操作過一遍(除了一些未來遇到才比較好模擬的狀況題)。非常喜歡這部教材的編寫,對於第一次接觸 Git 的我來說,幫助我循序漸進建立 Git 操作觀念。

記錄一些 Git 重要的觀念

  • branch 只是一個指向某個 commit 的指標 一開始對開新 branch 會有像是開一個新空間般的誤解,必須自己體會這種「指標」的概念。
  • 新開 branch 以前確保回到 master 這邊我把 branch 當作有類似階層的概念來理解,會直接從目前的 branch 分支出去。
  • 實作遇到的問題:

    狀況一:push 到 GitHub 發生錯誤訊息:fatal : Authentication Failed

    透過 https 來 push 的時候,輸入密碼卻發生錯誤訊息,參考 Stack Overflow 上的問題:Git push results in “Authentication Failed”,發現是我的帳號有開啟兩步驟驗證 ( two-factor authentication ) 造成的,要回到 GitHub 產生一組 token 來登入。

    依照 GitHub 官方教學文件:Creating a personal access token for the command line 來操作,成功解決問題。

    狀況二:用 rebase 修改瑣碎的 commit 記錄 & 練習 VIM 編輯器

    報名導師計畫第二期時創建的 repository:mp_s2_registration,當時沒有 Git 的觀念,在網頁上修改一次就 commit 一次,因此有太多瑣碎的 commit。打算拿這個來練習合併 commit 狀況題。

    做這個練習時,真正操作了 VIM 編輯器,才理解教材上說的 VIM 編輯器切換 insert 及 normal 兩種模式是什麼概念。

    最後,因為是修改已知的事實,果然用一般的 git push指令推不上去,要用 git push origin master --force 強制推上去。

    P.S. --force 參數要謹慎使用。

    關於學習方式

    選擇以 command line tool 為主來操作 Git

    想讓自己多練習 command line 操作,暫時先不以 SourceTree 這類 GUI 工具來操作 Git。依「為你自己學 Git」上的建議,養成自己認真讀 command line 指令的觀念,莫驚莫慌。遇到錯誤就丟 Google 查找問題的解法

    熟悉 command line 指令的練習方法

    「為你自己學 Git」作者提到:自我練習時習慣把檔案開在 /tmp 目錄。因為目錄裡的東西在下次電腦重新開機(或當機)的時候就全部被清空,所以有不需要再手動整理的好處。 我還發現這樣練習的其他好處:下次練習時候,開新檔案接續上次練習,因此藉機重新複習之前學習過的地方,可以達到『重複練習』的功效

    需要再研究的地方

  • 對 https 及 ssh 的理解還不夠有概念。
  • 「為你自己學 Git」上面的狀況題,只光看過不會有學習效果,之後若遇到相似的狀況可以回來參考教材做自主練習。

  • 參考資料整理:

  • 為你自己學 Git
  • Git push results in “Authentication Failed”
  • Creating a personal access token for the command line