Git与SVN常用指令

Git

基础操作

只有设置签名才能提交内容(签名用来标识内容提交的源头)

bash 复制代码
# 初始化仓库
git init
# 克隆远程仓库
git clone <repo_url>
# 查看当前状态
git status
# 添加全部修改到暂存区
git add .
# 提交到本地仓库
git commit -m "提交说明"
# 查看提交历史(精简版)
git log --oneline
# 查看文件修改差异
git diff

分支管理

bash 复制代码
# 创建新分支
git branch <branch_name>
# 切换分支
git checkout <branch_name>
# 创建并切换分支
git checkout -b <new_branch>
# 合并分支到当前分支
git merge <branch_name>
# 删除本地分支
git branch -d <branch_name>
# 强制删除未合并分支
git branch -D <branch_name>
# 查看所有分支(含远程)
git branch -a

远程仓库

bash 复制代码
# 添加远程仓库
git remote add <remote_name> <repo_url>
# 推送本地分支到远程
git push -u <remote_name> <branch_name>
# 强制推送(慎用!)
git push -f
# 拉取远程更新
git pull <remote_name> <branch_name>
# 获取远程分支但不合并
git fetch
# 删除远程分支
git push <remote_name> --delete <branch_name>

撤销操作

bash 复制代码
# 撤销工作区修改
git checkout -- <file>
# 撤销暂存区文件
git reset HEAD <file>
# 修改最后一次提交
git commit --amend
# 回退到指定提交(保留修改)
git reset --soft <commit_id>
# 彻底回退到指定提交(慎用!)
git reset --hard <commit_id>
# 恢复误删的文件
git checkout <commit_id> -- <file_path>

日志与查询

bash 复制代码
# 图形化提交历史
git log --graph --all
# 按作者搜索提交
git log --author="name"
# 搜索提交内容
git log -S "keyword"
# 显示某文件的修改历史
git blame <file>

标签管理

bash 复制代码
# 创建标签
git tag <tag_name>
# 创建带注释标签
git tag -a v1.0 -m "版本说明"
# 推送标签到远程
git push --tags
# 删除本地标签
git tag -d <tag_name>
# 删除远程标签
git push origin :refs/tags/<tag_name>

git add 文件
git commit -m '描述'
工作区
暂存区
本地仓库

Git分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分

支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支

的运行。

合并分支发生冲突

执行 git merge 发生冲突
查看冲突状态 git status
打开冲突文件手动解决
解决冲突后 git add 文件
提交合并 git commit
合并完成
取消合并 git merge --abort

SVN

命令 作用 示例 说明
svn checkout (svn co) 检出仓库到本地 svn checkout http://svn.example.com/trunk 第一次获取代码
svn update (svn up) 更新本地副本 svn updatesvn up 同步服务器最新版本
svn status (svn st) 查看工作副本状态 svn statussvn st 显示修改/新增/删除的文件
svn add 添加新文件到版本控制 svn add filename.txt 添加后需要提交
svn commit (svn ci) 提交更改到服务器 svn commit -m "提交说明" 提交本地修改到服务器
svn delete (svn del) 删除文件 svn delete filename.txt 标记删除,需提交生效
svn revert 撤销本地修改 svn revert filename.txt 恢复文件到服务器版本
svn copy (svn cp) 复制文件或目录 svn copy file1.txt file2.txt 可用于创建分支/标签
svn move (svn mv) 移动或重命名 svn move old.txt new.txt 保持版本历史
svn mkdir 创建目录 svn mkdir newdir 创建并添加到版本控制
svn diff 比较差异 svn diff filename.txt 查看文件修改内容
svn log 查看提交历史 svn logsvn log -l 5 显示历史记录,-l指定条数
svn info 查看工作副本信息 svn info 显示URL、版本等信息
svn list (svn ls) 列出目录内容 svn list http://svn.example.com/ 显示远程目录结构
svn cat 查看文件内容 svn cat http://svn.example.com/file.txt 不检出直接查看文件内容
svn blame (svn praise) 查看文件每行最后修改者 svn blame filename.txt 显示每行的作者和版本
svn merge 合并分支 svn merge http://svn.example.com/branches/feature1 将分支合并到当前目录
svn resolve 标记冲突已解决 svn resolve filename.txt --accept=working 解决冲突后标记文件
svn switch (svn sw) 切换分支/标签 svn switch http://svn.example.com/branches/feature1 切换到指定分支
svn export 导出干净代码 svn export http://svn.example.com/trunk ./export 无.svn目录的纯净导出
svn import 导入项目到仓库 svn import ./myproject http://svn.example.com/trunk -m "初始导入" 将本地项目导入仓库
svn lock 锁定文件 svn lock file.txt -m "锁定说明" 防止他人修改文件
svn unlock 解锁文件 svn unlock file.txt 解除文件锁定
svn cleanup 清理工作副本 svn cleanup 修复损坏的工作副本
svn help 查看帮助 svn helpsvn help commit 查看命令帮助信息
相关推荐
不想努力只想躺平的菜鸟ing8 小时前
svn使用指南
svn
恋喵大鲤鱼9 小时前
git mv
git·git mv
Patrick_Wilson13 小时前
Git Worktree 原理详解:从 objects / refs 看懂多分支并行与多 Agent 协作
git·面试·ai编程
yaoxiaoganggang13 小时前
克隆 Superpowers 的规则库到你的本地(或者直接作为 Git Submodule)
人工智能·经验分享·git·ai编程
Python私教15 小时前
用 Claude Code 做大型重构不翻车:分批+Git 兜底+验证闭环的实战流程(2026)
git·重构·ai编程·代码重构·工程实践·claude code
Shawn Dev16 小时前
团队协作中的 Git Tag 最佳实践:从入门到精通
大数据·git·elasticsearch
独隅18 小时前
Git/GitHub/GitLab/Gitee 核心对比指南
git·gitlab·github
佛山个人技术开发18 小时前
GitCode个人技术开发者总结完整使用指南
windows·git·svn·github·gitcode
江华森19 小时前
基于 Git 的自动集成交付(Git-Driven CI/CD)实战
git·ci/cd
Dontla20 小时前
.gitkeep文件作用(让Git追踪空目录,使该目录能被纳入版本控制)!.gitkeep
大数据·git·elasticsearch