# 前言

Git,一個想成為工程師,好像一定要會的東西。

程式領域淺藏著許多「沒人教」,但在業界會被當成「理所當然」、「不用教就應該會」的技能,Git 就是其中一項,但這些技術對外行人來說,各個都不是容易跨過的門檻。

此時的新人可能還在跟程式拚得水深火熱,光是要搞懂那些「亂碼」,就已經弄得自己一個頭兩個大。
現在又殺出一個名叫 Git 的程咬金,擺明告訴新人如果不學會他,面試大概會第一個被刷掉。

認識 Git、使用 Git,成了就職前的一大挑戰。

# 初識 Git

筆者有幸在求學時期認識這門學問,但當時的我並沒有完全學會。

對於 Git 的操作,只知道怎麼使用 git addgit commitgit push 把程式上傳到 GitHub。

由於知道 Git 提供的功能遠不止於此,所以始終不敢說自己是「會 Git」的人。

踏入職場後,第一間公司使用的版控工具不是 Git,而是 SVN (Subversion)。
雖然說 Git 和 SVN 兩者的版控觀念不會相差太遠,不過公司的版控軟體主要是拿來做「程式備份」,而非「團隊協作開發」,導致最後對於版控的觀念還是很薄弱。

此時的我,也還沒契機去學習如何操作 Git。

# 重新認識 Git

近期因為換了工作,有幸加入一個使用 Git 的團隊,但因為上述的經驗,我對 Git 的認識也只有「把程式上傳到 GitHub」而已。

前陣子我跟主管說到:「我跟 Git 沒有很熟」。
主管不以為然的回說:「不熟?學就好了啊!」。

於是我開始踏上重新學習 Git 的旅程。

如果你跟我一樣,也是知道 Git 但不熟 Git,甚至不會用 Git。

沒關係,我們一起來學吧!

# 會使用到的工具

  1. 一台電腦,Windows 或 Mac 不拘,我是使用 Windows (沒人在意)

  2. 會用到 Terminal (終端機)CMD (命令提示字元)PowerShell(電腦指令程式)Git Bash (註 1) 來執行指令。

  3. GUI 工具會使用 Fork App

  4. 如果你也是 Visual Studio Code 的使用者,我同時會帶到 Git Graph 擴充套件輔助說明。

註 1. Git Bash 是 Windows 系統安裝完 Git 後,可以使用的一個命令列工具,是 Unix/Linux 系統的環境,不過如果拿他執行 Git 指令,跟 命令提示字元 沒有太大差異,選擇自己習慣的終端機即可。

# 想寫的內容、不會介紹的內容

我想寫出一系列能讓看到指令就頭昏眼花的人,也能學會 Git 的文章!

具體能學會的內容大概有這些:

  1. Git 的觀念介紹
  2. Git 的安裝
  3. 開始進行版控
  4. 提交版本
  5. 分支操作
  6. 各種實務上執行完又想反悔時的操作

因為此系列文章主題是 Git,所以不會提到終端機基本指令介紹,只會專注於 Git 的指令說明。

如果你完全沒碰過指令,甚至為指令感到畏懼,也不用擔心,除了指令之外,我也會分享如何使用 Fork 軟體操作 Git 版控,讓不懂指令的你也能學會 Git 版本控制。

# 學習 Git ,比起記得指令更重要的事

要真的學會 Git,最重要的是:學會觀念、刻意練習

真正有能力操作 Git 的關鍵,絕非熟記了多少指令,指令這種東西如果忘了再查就好。
去搞懂 Git 出現在你的世界之後,會為你的專案帶來什麼變化。

先跟著教學理解 Git 這傢伙在玩什麼把戲。
無論你是指令派也好,GUI 派也罷,去開一個空資料夾,隨便新增檔案,然後跟著步驟執行一次,去觀察工作目錄的檔案「因為這些操作」出現了什麼變化。

Git 有很多觀念並不好懂,這對很多人來說 (包括以前的我),完全是新的世界。

我們開始要以新的角度來看這世界。

別試著理解它,感受它。 - 電影《天能》

talent

接下來我會寫的內容,以及不會寫的內容,大致已經先預告了。

如果我沒有因為太懶惰而棄賽的話,請跟我一起來學習怎麼使用 Git 吧!

更新於 閱讀次數