跳到主要內容

精選文章

Git 常用指令

 


( 圖 by Midjourney )


Git指令查表

階段 指令 目的 常用備註
取得專案 git clone <url> 把遠端倉庫複製到本機 第一次拿到專案通常從這裡開始。
建立工作分支(可選) git switch -c <branch>(或 git checkout -b <branch> 開新分支做功能 習慣先開 feature 分支再改。
查看現況 git status 看哪些檔案被修改、是否已暫存、是否有新檔 幾乎每個動作前後都會看一次。
檢查改動 git diff 看尚未 add 的差異 提交前先確認內容。
加入暫存區 git add <file> / git add . 把改動放進 staging git add . 方便但容易把不該追蹤的檔案也加進來。
提交 git commit -m "msg" 產生一次提交 提交訊息盡量描述「做了什麼/為何」。
修正上一個提交 git commit --amend 修改「上一個」commit(訊息或內容) 常用在「剛 commit 完才發現漏加檔/訊息想修」;若已 push,amend 會改寫歷史,通常不建議直接對共享分支做。
推到遠端 git push 把本地提交推送到遠端 若是新分支,可能需要第一次設定 upstream(Git 會提示指令)。
強制推送遠端 git push orign main  --force-with-lease 把本地提交重新推送覆蓋遠端的 通常是 commit 已經 push 後又要修改, 搭配 commit --amend 使用
拉回更新 git pull 把遠端更新拉回並合併 多人協作時常用;衝突需手動解。

-「git pull = git fetch + git merge」,很多人會搭配 rebase 使用(git pull --rebase)




還原/重置(「反悔鍵」區)

  • git restore .:把工作目錄的追蹤檔案全部還原成最後一次 commit(HEAD),用來捨棄尚未提交的修改。 
  • git restore --staged .:把暫存區全部退回(取消 git add),但保留工作目錄的修改。 
  • git reset --hard HEAD:把暫存區與工作目錄都重置回 HEAD;未提交的修改會直接消失。這指令會永久丟棄所有未提交的修改與暫存區內容,無法輕易找回(除非有 reflog 救回),生產環境或重要專案極度不建議隨便用 --hard


.gitignore/清索引(含 git rm --cached -r .

當你「不小心把一堆不該追蹤的檔案加進 Git」或你剛新增 .gitignore 想讓它生效,常用流程是: 

1) 修改 .gitignore

2) git rm --cached -r .:把檔案只從索引移除(不刪實體檔案),讓 Git 重新依 .gitignore 決定哪些該被追蹤。 

3) git add . 重新加入應該追蹤的檔案

4) git commit -m "Apply .gitignore"

這邊的 -r 指的是 recursive 



留言

熱門文章