Git 的常用命令和基本用法
2026/6/6 13:15:15 网站建设 项目流程

以下是 Git 的常用命令和基本用法,按使用场景分类,适合日常开发。

一、仓库初始化与克隆

命令说明
git init在当前目录初始化一个新的 Git 仓库
git clone <url>克隆远程仓库到本地
git clone --depth 1 <url>浅克隆,只下载最新一次提交(节省时间)

二、查看状态与历史

命令说明
git status查看工作区和暂存区的状态(最常用)
git log查看提交历史
git log --oneline简洁版提交历史
git log --graph --oneline --all图形化显示所有分支历史
git diff查看工作区与暂存区的差异
git diff --staged查看暂存区与上次提交的差异
git show <commit-hash>查看某次提交的详细内容

三、日常修改与提交

命令说明
git add <file>将文件添加到暂存区
git add .添加所有修改(包括新增、修改、删除)
git add -A同上,更显式
git commit -m "message"提交暂存区内容
git commit -am "message"跳过 add,直接提交已跟踪文件的修改
git commit --amend修改上一次提交(补充文件或修改说明)
git restore <file>丢弃工作区的修改(恢复成暂存区或 HEAD 版本)
git rm <file>删除文件并记录到暂存区

四、分支操作

命令说明
git branch查看本地分支(当前分支带 *)
git branch -r查看远程分支
git branch -a查看所有分支(本地+远程)
git branch <name>创建新分支
git branch -d <name>删除分支
git checkout <branch>切换分支
git switch <branch>更安全的切换分支(Git 2.23+)
git checkout -b <name>创建并切换到新分支
git merge <branch>将指定分支合并到当前分支
git rebase <branch>变基操作,使提交历史更线性

五、远程仓库操作

命令说明
git remote -v查看远程仓库地址
git remote add origin <url>添加远程仓库
git push origin <branch>推送本地分支到远程
git push -u origin <branch>推送并建立上游关联(之后直接git push
git push --force强制推送(⚠️ 谨慎使用)
git pull拉取远程并合并(= fetch + merge)
git fetch只拉取远程更新,不自动合并
git clone后的默认远程名是origin

六、撤销与恢复

命令说明
git reset HEAD <file>将文件从暂存区撤出(保留工作区修改)
git reset --soft HEAD~1撤销最近一次提交,但保留修改在暂存区
git reset --mixed HEAD~1撤销提交并保留修改在工作区(默认)
git reset --hard HEAD~1⚠️ 彻底丢弃最近一次提交和所有修改(危险)
git revert <commit>用一次新提交反向撤销某次历史提交(安全)
git stash临时保存当前工作区的修改
git stash pop恢复最近一次 stash 并删除记录
git stash list查看所有 stash

七、标签(版本发布)

命令说明
git tag查看所有标签
git tag <name>创建轻量标签
git tag -a v1.0 -m "message"创建带注释的标签
git push origin <tag>推送单个标签
git push --tags推送所有标签

八、典型工作流示例

场景1:开始一个新功能

bash

git checkout main git pull # 更新主分支 git checkout -b feature-xxx # 创建并切换到功能分支 # ... 修改代码 ... git add . git commit -m "feat: xxx" git push -u origin feature-xxx

场景2:同步远程最新代码

bash

git pull origin main # 拉取并合并 # 或者更安全的做法: git fetch origin git diff origin/main # 先看差异 git merge origin/main # 确认后再合并

场景3:撤销不想提交的修改

bash

git checkout -- <file> # 丢弃工作区修改(旧语法) git restore <file> # 新语法(Git 2.23+)

场景4:合并别人修改时解决冲突

bash

git pull origin main # 出现冲突 → 手动编辑冲突文件 → 删除 <<<<< ===== >>>> 标记 git add . git commit -m "merge conflict resolved"

九、常用查看历史命令

bash

git log --oneline --graph --all --decorate # 最推荐的可视化日志 git reflog # 查看所有 HEAD 移动记录(可用于恢复丢失的提交) git status -sb # 简洁状态 + 分支信息

十、别名设置(提升效率)

bash

git config --global alias.co checkout git config --global alias.br branch git config --global alias.st status git config --global alias.lg "log --oneline --graph --all" # 之后就可以用 git st、git co、git lg 等

记住三个核心区域

text

工作区 (Working Directory) ↓ git add 暂存区 (Staging Area) ↓ git commit 本地仓库 (Local Repository) ↓ git push 远程仓库 (Remote Repository)

最常用的三个命令:git statusgit addgit commit— 掌握它们就覆盖了 80% 的日常场景。

.gitignore用法

关键点说明
.gitignore的生效时机只在文件从未被追踪时生效
已被追踪的文件.gitignore对它无效
删除已被追踪的文件Git 会记录删除操作
push 后的结果远程该文件也会被删除

文件一旦被 Git 追踪过(commit 过),.gitignore就管不了它了。本地删除并提交后,push 到远程会同步删除远程的该文件。

如果你想让远程文件保留但本地删除,需要执行git rm --cached(从 Git 中移除追踪)而不是直接rm

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询