cover

一張速查表 + 一組 alias,讓你的 Git 操作效率翻倍。

先講結論

GUI 工具(像 SourceTree)很方便,但它會在背景偷偷做你不知道的事(比如自動 fetch)。學指令不是為了裝帥,是為了知道 Git 到底在幹嘛。操作更精確、更可控。

初始化與設定

git init                                           # 建立新的本地 repo
git clone <url>                                    # 複製遠端 repo
git config --global user.name "Your Name"          # 設定使用者名稱
git config --global user.email "your@email.com"    # 設定 email
git config -l                                      # 列出所有 config

日常操作

git status                  # 目前工作區狀態
git add .                   # 所有變更加入暫存區
git add -A                  # 含刪除/更名的所有變更
git commit -m "message"     # 提交
git commit --amend          # 修改最後一次 commit
git log                     # 檢視提交紀錄

分支操作

git checkout -b <branch>           # 建立並切換到新分支
git branch                          # 列出本地分支
git push -u origin <branch>        # 推送分支到遠端
git push origin :<branch>          # 刪除遠端分支

還原操作

git reset HEAD --hard              # 還原所有未提交的變更(危險!)
git revert <commit>                # 建立新 commit 來還原指定版本
git rm --cached <file>             # 從 Git 追蹤中移除檔案

標籤操作

git tag                                    # 列出所有標籤
git tag <name>                             # 建立輕量標籤
git tag -a "<name>" -m "<message>"         # 建立附註標籤
git show <tag>                             # 檢視標籤內容
git tag -d <name>                          # 刪除本地標籤
git push --delete origin <tag>             # 刪除遠端標籤

推薦的 Alias 設定

~/.gitconfig 加入這些,打字量直接少一半:

[alias]
    br = branch
    cm = commit
    co = checkout
    df = diff
    ft = fetch
    l  = log --oneline --graph
    lg = log --all --graph --decorate --oneline
    pl = pull
    ps = push
    st = status
    ss = status -s

設定完之後,git st 就等於 git statusgit lg 就能看到漂亮的分支圖。你的手腕會感謝你的。


這些指令看起來很多,但你真正每天用的大概就十個。其他的?等用到的時候回來查就好。bookmark 這頁就對了。


延伸閱讀