Git 的常用指令,分為基礎操作、分支管理、遠程協作、撤銷操作和高級功能五個部分,并附上實用示例:
一、基礎操作(必會)
-
初始化倉庫
git init # 在當前目錄創建新倉庫
-
克隆遠程倉庫
git clone https://github.com/user/repo.git # 克隆倉庫到本地(默認克隆 master/main 分支)
-
查看狀態
git status # 顯示工作區和暫存區狀態(紅色=未跟蹤/修改,綠色=已暫存)
-
添加文件到暫存區
git add file.txt # 添加單個文件 git add . # 添加所有修改和新文件 git add -u # 添加所有已跟蹤文件的修改
-
提交更改
git commit -m "描述信息" # 提交暫存區的更改 git commit -am "描述" # 添加所有已跟蹤文件并提交(跳過 git add)
二、分支管理(團隊協作核心)
-
分支操作
git branch # 查看本地分支 git branch feature-login # 創建新分支 git checkout feature-login # 切換到分支 git checkout -b hotfix # 創建并切換分支(推薦)
-
合并分支
git merge feature-login # 將 feature-login 合并到當前分支 git merge --abort # 終止合并沖突
-
刪除分支
git branch -d feature-old # 刪除已合并的分支 git branch -D feature-old # 強制刪除未合并分支
三、遠程協作(多人開發必備)
-
連接遠程倉庫
git remote add origin https://github.com/user/repo.git
-
推送代碼
git push origin main # 推送到遠程 main 分支 git push -u origin feature # 首次推送并設置上游跟蹤
-
拉取更新
git pull origin main # 拉取遠程更新并合并(= fetch + merge) git fetch origin # 僅獲取遠程更新不合并
-
查看遠程
git remote -v # 查看遠程倉庫地址 git remote show origin # 查看遠程倉庫詳細信息
四、撤銷操作(救命命令)
-
撤銷工作區修改
git restore file.txt # 丟棄工作區修改(未 add)
-
撤銷暫存區
git restore --staged file.txt # 將文件移出暫存區(撤銷 add)
-
修改上次提交
git commit --amend # 修改提交信息/添加漏掉的文件
-
版本回退
git reset --hard HEAD^ # 回退到上一個提交(慎用!) git reset --soft HEAD~1 # 撤銷提交但保留修改
五、高級功能(提升效率)
-
儲藏更改
git stash # 臨時保存工作區修改 git stash pop # 恢復最近儲藏的內容
-
查看歷史
git log --oneline --graph # 圖形化顯示提交歷史 git log -p file.txt # 查看文件的修改歷史
-
標簽管理
git tag v1.0.0 # 創建標簽 git push origin --tags # 推送所有標簽到遠程
-
比較差異
git diff # 工作區 vs 暫存區 git diff HEAD # 工作區 vs 最新提交 git diff branch1..branch2 # 比較兩個分支
🚀 實用組合示例
-
日常開發流程
git checkout -b feature-payment # 創建新功能分支 git add . # 添加修改 git commit -m "添加支付功能" # 提交 git push origin feature-payment # 推送到遠程 # 在 GitHub 創建 PR 請求合并到 main
-
緊急修復 Bug
git stash # 暫存當前工作 git checkout main # 切換到主分支 git pull origin main # 更新主分支 git checkout -b hotfix-login # 創建修復分支 # ...修復代碼... git commit -am "修復登錄崩潰" git push origin hotfix-login
-
同步他人修改
git fetch origin # 獲取遠程更新 git merge origin/main # 合并到當前分支 # 或使用 rebase(更整潔的歷史) git rebase origin/main
📌 重要提示
- 提交前務必
git status
確認修改內容 - 頻繁提交小修改,避免大塊提交
- 推送前先拉取遠程更新(避免沖突)
- 使用
.gitignore
文件忽略不需要跟蹤的文件(如日志、編譯產物)