在我們建立 Laravel 新專案時,會詢問我們要不要初始化 Git 倉庫?
Would you like to initialize a Git repository? ──────────────┐
│ ● Yes / ○ No │
└───────────────────────────────────────────────────────────┘
我選擇 Yes!
這個專案就可以使用 Git 進行版本控制。
如果這個專案需要多人協作,不論使用什麼版本控制系統,將這個專案進行版本控制是必需的,所以我們今天就來基礎了解一下 Git 與 GitHub。
Git 是一個版本控制系統,主要是幫助我們記錄程式碼的歷史。
當你寫程式時,Git 就像是一台時光機一樣,記錄你每一次對程式碼的改動,這樣你就可以隨時回到之前的版本,避免因為某些錯誤導致所有工作都被搞砸。
如果 Git 是一台時光機,那 GitHub 就是時光機停放的基地台。
可以將 GitHub 想像成一個雲端倉庫,專門存放你用 Git 來管理的程式碼;或是像我一樣把 GitHub 當作是 iCloud 也很好理解。
平常你在自己電腦上用 Git 來記錄程式碼的改動,而 GitHub 則是把這些紀錄推送到網路上,讓你能夠隨時隨地存取你的專案,或者跟其他開發者一起協作。
簡單來說,GitHub 是一個分享、協作的平台,讓團隊成員可以很方便地看到彼此的程式碼、提交建議、進行版本控制等等。
以下介紹幾個我有使用過或是大家可能常用的 Git 操作,如果想更了解 Git 建議可以參考高見龍老師的書:為你自己學 Git
git init
git add
git commit -m "Add initial project files and configurations"
git status
git push -u origin main
git pull origin main
在上傳到 GitHub 時,有些檔案是一般不建議上傳的,特別是那些可能包含敏感資訊或不必要的檔案。
通常會將這些不上傳的檔案放在 .gitignore 檔案裡進行排除。
所以把檔案加到 Git 的「待提交區」裡面前,請確認你的 .gitignore 檔案中是否列出了不需要上傳的檔案(如 .env 或 vendor 資料夾)。
也是以前鐵人賽的文章,菜雞仔如我,覺得幫助我很多,非常易懂!
簡單來說,Git 是在你電腦上管理版本控制的工具,記錄你對專案的每次修改,而 GitHub 則是讓你可以把這些紀錄放在雲端,讓其他人能參與進來,進行團隊合作。
我覺得基礎了解一下版本控制是重要的,不論對自己或對團隊都是加分的,菜雞仔如我,也不是深入了解版本控制,我自己要求不多,覺得目前的我多少會用就好XD
每家公司可能使用,也可能不使用,或是使用的系統也不相同。
建議可以從 Git 與 GitHub 入門,為你每個專案派遣專屬時光機!