What is Git? [GIT101]


Posted by PolaTseng on 2025-09-15

Git就是版本控制的軟體
好的版本控制需考量檔案本身版本、release note版本、多人協作。

  • git init 初始化(開始用git)
  • git status 查看git的狀態
  • git add 把需要版本控制的檔案加入git,成為staged狀態;不要版本控制的可以用git rm --cached 移除,成為untracked狀態。可以用git add .一次把資料夾內的所有檔案都加入版本控制
  • git commit 新建版本,可以加 -m "描述commit message"。當檔案在staged區,可以用 -am ""把修改的檔案一起add+commit。commit當作是新建資料夾,一個commit=一個資料夾的意思,通常是完成一個小進度才會commit。
  • git --amend 修改commit message
  • git HEAD^ 回到上一個commit,有分--hard跟--soft,前者是把新的commit直接刪掉回到先前的commit,後者是讓你可以去改新commit的內容(改完再commit)
  • git log 看有哪些commit跟資訊
  • git checkout 回到之前的某一版本(後面+commit版本號);git checkout master就回到這個分支的最新版本;git checkout -- XXX 可以把未commit的內容刪掉 (可用git status看怎麼用)
  • .gitignore 把沒有要加入版本控制的檔案放在這。先用touch .gitignore新增檔案,再用vim .gitignore打開輸入檔名並存檔
  • git diff 在commit前看差異(改了什麼)
  • git hook 通常是用在commit and push前檢查程式碼是否符合規範、有沒有改到什麼不該改的檔案、哪些內容沒移除掉等
  • git push origin master 把修改好也commit完的code推到github (前面還有一行指令是連結到github,建立repository時會有指示,要自己手動push)
  • git pull origin master 把github上改好的檔案下載到本地端,若本地端跟github上有變更過相同檔案,也可能出現conflit
  • git clone XX@XXX 把想要下載的repository連結貼上,就可以下載到本地端
    github上的fork可以把別人的repository複製到自己的帳號底下,這樣下載到本地端後,有修改就可以push回去
  • github內的pull request就等於merge branch的意思,好處在於可以看到檔案的差異跟變化

BRANCH

  1. 可以平行時空做不同的事情(e.g. 修bug、開發新功能),等到都ok後可以再merge成一個版本發布
  2. 通常git init一開始就會有自動建一個叫master的branch
  • git branch -v 看現在有的branch
  • git branch XXX 新增branch,XXX就是新branch名稱
  • git branch -d XXX 刪掉XXX branch
  • git branch -m XXX 改branch名稱
  • git checkout branch名稱 切換到不同的branch,即使是遠端的也可以直接這樣抓下來本地端
  • git merger branch名稱 當我在master branch時,把另一branch merge到master branch內
  • 當兩個branch改到相同的command line,要merge時會發生conflict,需手動調整conflict的部分再commit即可成功merge。git會顯示衝突的部分在哪

Github pages
github可以用來當成自己作品集的展示(網頁)

Github flow 有任何改動(新功能等):

  1. 建立branch
  2. commit
  3. pull request
  4. review
  5. deploy and merge









Related Posts

Laravel x Vue Conf TW 2022

Laravel x Vue Conf TW 2022

Python 命名與Underscore

Python 命名與Underscore

ModernWeb'21 隨筆

ModernWeb'21 隨筆


Comments