Git版本管理常用命令总结
常用操作
# 克隆远程项目到本地 git clone [repo_link] # ---------------------- # 初始化仓库 git init -b [分支名] # 修改并提交到本地仓库 git add [文件或者文件夹] git commit -m "提交注释" # 提交修正,覆盖上一次提交记录 git commit --amend -m "提交注释" # 关联远程仓库 git remote add [远程仓库名称] [远程仓库地址] git remote rename|remove|set-url # 具体功能作用git remote -h # 推送到远程仓库 git push -u [远程仓库名称] [分支名] # -u参数表示上传并合并本地分支,记录远程仓库名称为默认名称(第一次用) git push [远程仓库名称] [分支名] git push # 推送到默认仓库 # 本地同步 # 从远程仓库拉取最新的代码并直接合并到当前的工作分支中 git pull [远程仓库名称] [分支名] # 参数默认为push参数 git fetch # 查看远程和本地的变化 # 从暂存区删除文件(但保留本地文件) git rm --cached [文件名] git commit --amend --no-edit
查看操作
# 查看工作区和本地仓库(暂存区)的改动情况 # 状态快照 git status # 查看分支 git branch -all # 查看工作区和暂存区之间的差异(具体内容) git diff [文件名] # 查看暂存区和最后一次提交之间的差异 git diff --cached # 查看当前仓库关联的远程仓库 git remote -v git remote show # 显示所有远程仓库名称 # 查看日志 git log - [数字] git log --oneline git log --graph git log --stat # 显示修改摘要 git log --patch|-p # 显示修改的位置 git log --after="2026-01-01" --before="2026-01-31" git log --author=[作者] git log --grep=["关键词"] # 按关键词来查日志 # 引用日志 # reflog记录了本地仓库所有的修改,包括修正提交,只保存在本地,不推送到远程 git reflog # 给版本仓库的历史记录打上标签 # 标签是不可移动的。一旦打上,它就永远指向那个特定的提交 git tag # 列出所有标签 git show [标签名] 查看某个特定标签的详细信息
还原文件
# 没有add文件恢复 git checkout [文件名] # 已经add,还有没有commit git log # 查看提交commit_id git ckeckout [commit_id] [文件名] # 已经add并且commit git ckeckout [commit_id] [文件名]
分支管理
# 仅创建分支 git branch [分支名] # 创建并切换到分支 git checkout -b [分支名] # 删除分支 git branch -d [分支名] # 删除已合并过的分支 git branch -D [分支名] # 强制删除分支 # 重命名分支 git branch -m [原名称] [新名称] # 合并分支。分支与分支之间,改动当前分支下的工作区和暂存区,更新本地版本,产生新的合并提交 git merge [被合并的分支名] # 变基分支 # 将开发起点平移到另一个提交节点上 git rebase [分支名]
标签管理
# 创建标签 # --------------- # 创建轻量标签 git tag [标签名] # 创建附注标签 git tag -a [标签名] -m "提交注释" # 给过去的提交打标签 git tag -a [标签名] [commit_id] -m "提交注释" git push [远程仓库名称] [标签名] # 推送特定标签 git push [远程仓库名称] --tags # 一次性推送所有本地标签 git tag -d [标签名] # 删除本地标签 git push [远程仓库名称] --delete [标签名] # 删除远程标签
Git架构图


- 图片来源网络