推荐使用的工具集合
- (⭐⭐⭐⭐⭐)vscode 里的插件 - GitLens
- (⭐⭐⭐)SourceTree
- (⭐⭐⭐)TortoiseGit (小乌龟🐢)
- (⭐⭐⭐⭐⭐) GitHub Desktop
常用命令行集合
// 初始化仓库
git init
// 克隆远程仓库
git clone
// 分支操作 - 创建分支
git branch <分支名>
// 分支操作 - 查看所有分支
git branch
// 分支操作 - 删除本地分支
git branch -d <分支名>
// 分支操作 - 直接强制删除分支,丢失未合并的更改
git branch -D <分支名>
// 分支操作 - 删除远程分支
git push <远程仓库名-默认是origin> --delete <分支名>
git push origin -d <分支名>
// 分支操作 - 切换分支
git checkout <分支名>
// 分支操作 - 创建并切换分支
git checkout -b <分支名>
// 添加暂存区 - 单个文件
git add <文件名>
// 添加暂存区 - 全部更改
git add .
// 撤销暂存
git reset <文件名>
// 提交更改
git commit -m "提交信息的说明"
// 查看当前状态(修改了哪些文件,有没有未提交的改动)
git status
// 查看提交历史
git log
// 查看差异
git diff
// 代码推送 - 第一次推送分支到远程仓库, 需要 -u 建立追踪
git push -u origin <分支名>
// 代码推送 - 推送分支到远程仓库
git push origin <分支名>
// 拉取远程分支,更新到本地(git pull = git fetch + git merge)
git pull origin <分支名>
// 临时保存工作区
git stash
// 合并分支 - 先切换到目标分支,然后执行 git merge
git checkout <目标分支>
git merge <要合并的分支>
// 查看远程分支
git branch -r
// 同时查看本地分支和远程分支
git branch -a
// 查看远程分支的详细信息(包括与本地分支的关联关系)
git branch -vv
// 更新远程仓库的信息
git fetch
标签相关
// 创建轻量标签(lightweight tag):轻量标签类似于分支,只是一个指向特定提交的指针,没有额外信息
git tag <标签名> # 默认为当前提交打标签
git tag <标签名> <提交哈希> # 为指定提交打标签
// 创建附注标签(annotated tag):附注标签是完整的 Git 对象,包含标签者信息、日期、注释等,推荐用于正式发布
git tag -a <标签名> -m "标签注释信息" # 为当前提交创建带注释的标签
git tag -a <标签名> <提交哈希> -m "注释" # 为指定提交创建附注标签
// 查看标签列表
git tag # 列出所有标签
git tag -l "v1.*" # 筛选标签(如只显示v1开头的)
// 查看标签详情:仅对附注标签有效,会显示标签的完整信息
git show <标签名>
// 推送标签到远程仓库:标签不会随 git push 自动推送,需要单独推送
git push origin <标签名> # 推送单个标签
git push origin --tags # 推送所有未推送的标签
// 删除标签
git tag -d <标签名> # 删除本地标签
git push origin --delete <标签名> # 删除远程标签
// 检出标签对应的代码:标签是静态的,检出后会处于「分离头指针」状态,如需修改建议创建分支
git checkout <标签名>
# 基于标签创建分支(推荐)
git checkout -b <分支名> <标签名>
// 例子:为当前提交创建一个名为 v1.0.0 的正式发布标签
git tag -a v1.0.0 -m "正式发布 v1.0.0 版本"
git push origin v1.0.0