學習 Git 的心得

對於有好長一段時間沒寫程式的我而言,Git的學習剛開始真的很不習慣。
Git 的版本控制真的很讚,是一個開發團隊中非常重要的工具,但是與過去所學差異很大,所以偶爾腦袋會有暫停現象,好似現在在與過去拉拔一樣。
坦白說 Git 是需要一些時間去學習,否則是無法靈活運用的。
雖然目前工作上使用的機會很少,但我也要認真學習,因為真的有同學私下來向我求救,說他不會。說實在的,當別人向我求救時,我覺得我好像沒有藉口說不會,只好硬著頭皮自己先試試後,再教同學。

以下就是第一次交作業前,我寫給同學的筆記:

  1. 在自己的 github fork 老師的 github 目錄 (https://github.com/kao.../ntub-ruby-course2017.git)

2. 在 codeanywhere 的作業目錄下
$ git clone your_repo_url(自己github的https://..git)
( $ cd ntub-ruby-course2017 )

3. 將分支改為這次交作業的分支
$ git checkout homework001

4. 建立自己的學號目錄,切換進該目錄
$ mkdir 104460xx
$ cd 104460xx

5. 在學號目錄下建立作業檔案 ( README.md )
$ touch README.md
打開 README.md 輸入作業內容,存檔

6. 將檔案由 working directory 移至 staging area
$ git add README.md

7. 將檔案由 staging area 移至 repository
$ cd ..
$ git commit -m ‘first exercise’ 104460xx/

8. 將(codeanywhere)作業 push 到遠端(github)
$ git push
(Username for ‘https://github.com': 輸入github帳號
 Password for ‘https://自己的github帳號@github.com’:輸入github密碼)

9. 至自己的 github 中發出 PR

其實同學問我,我也很開心,因為為了教會同學,我必須先成功。也謝謝老師在上課時,很有耐心的重複教授了數次。

Git 另外有一種檔案異動的控制,分為幾個區塊管理:
 
使用 git add 將想要的檔案加入 Staging area
git add . 會將所有編修過的檔案加入 Staging area (新增但還沒 Commit 過的檔案並不會加入)

如何將檔案從 Stage 中移除(取消add):git reset HEAD 檔案名稱

使用 git commit會將 Staging area 狀態的檔案做 Commit 動作
git commit -m “commit訊息” 可以略過編輯器直接輸入 commit 訊息完成提交。

如何修改/取消上一次的 commit:
git reset HEAD^ — soft 取消剛剛的 commit,但保留修改過的檔案。
git reset HEAD^ — hard 取消剛剛的 commit,回到再上一次 commit的 乾淨狀態。

記得老師說過:人生不能重來,但 Git 可以。
Git真的很酷,但是 Git 易學難精,他的 branch ,著實讓我暈頭轉向了好一會兒,但了解該運作後,覺得 Git 真的很強,應該好好學習、多多練習。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.