资讯动态

git-命令大全

发布时间:2026/9/17 20:17:37 来源:尧图企业网站定制
用户配置git config --global user.name “你的名字”git config --global user.email “你的邮箱”git config --global core.editor vim # 设置默认编辑器查看配置git config --listgit config user.namegit config --global --list别名设置git config --global alias.co checkoutgit config --global alias.br branchgit config --global alias.ci commitgit config --global alias.st status生成秘钥与配置秘钥作用免密码拉取/推送 github、gitee、gitlab 等远程仓库1. 检查是否已有密钥打开Git BashWindows或终端Mac/Linuxls-la~/.ssh如果看到id_rsa私钥、id_rsa.pub公钥说明已经生成过可以直接用不用重复生成。2. 生成新 SSH 密钥ssh-keygen-ted25519-C你的邮箱地址推荐 ed25519老旧环境不支持就用 RSAssh-keygen-trsa-b4096-C你的邮箱地址执行后交互步骤提示Enter file in which to save the key直接回车使用默认保存路径Enter passphrase设置密钥密码可选不想加密就直接回车再次确认密码回车密钥生成完成3. 启动 ssh-agent 并添加私钥# 启动代理eval$(ssh-agent-s)# 添加私钥ed25519版本ssh-add ~/.ssh/id_ed25519# 如果是rsa版本ssh-add ~/.ssh/id_rsa4. 复制公钥.pub文件内容放到远程平台# Windows(GitBash)cat~/.ssh/id_ed25519.pub|clip# Macpbcopy~/.ssh/id_ed25519.pub# Linuxxclip-selclip~/.ssh/id_ed25519.pub没有命令工具就直接打开文件Windows路径C:\Users\你的用户名\.ssh\id_ed25519.pub用记事本打开全选复制全部内容以ssh-ed25519开头5. 粘贴到 Git 平台GitHubSettings → SSH and GPG keys → New SSH keyGitee设置 → SSH公钥 → 添加公钥标题随便填密钥内容粘贴进去保存。6. 测试连通性# githubssh-Tgitgithub.com# giteessh-Tgitshturl.cc出现类似Hi xxx! Youve successfully authenticated代表成功。7. Git 仓库切换成SSH地址仓库地址从 https 改成 ssh 格式之后推拉代码就不用输账号密码gitremote set-url origin gitxxx:用户名/仓库名.git常见坑复制必须是 .pub 公钥不要把私钥 id_ed25519 上传网站私钥不能泄露提示Permission denied核对公钥是否粘贴完整、有没有多余换行空格多个git账号需要配置~/.ssh/config区分不同密钥要不要我顺便给你多账号Git的ssh config配置模板 仓库操作初始化git init # 初始化本地仓库git clone # 克隆远程仓库git clone --depth 1 # 浅克隆只下载最近一次提交远程仓库git remote add origin # 添加远程仓库git remote -v # 查看远程仓库git remote show origin # 查看远程仓库详情git remote remove origin # 移除远程仓库git remote rename old new # 重命名远程仓库 状态与日志状态查询git status # 查看状态git status -s # 简洁状态git status --ignored # 显示忽略文件日志查看git log # 查看提交历史git log --oneline # 单行显示git log --graph # 图形化显示git log --stat # 显示文件变更统计git log -p # 显示具体改动git log --since“2 weeks ago” # 按时间筛选git log --author“名字” # 按作者筛选git log -S “关键词” # 搜索代码变更git log --grep“关键词” # 搜索提交信息git log --oneline -5 # 最近5条 提交相关添加文件git add # 添加特定文件git add . # 添加所有文件git add -A # 添加所有变化git add -u # 更新已跟踪文件git add -p # 交互式添加提交git commit -m “提交信息” # 提交git commit -am “提交信息” # 添加并提交已跟踪文件git commit --amend # 修改最后一次提交git commit --amend --no-edit # 修改提交但不改信息git commit --allow-empty # 空提交撤销提交git reset --soft HEAD~1 # 撤销提交但保留修改git reset --mixed HEAD~1 # 撤销提交和暂存git reset --hard HEAD~1 # 彻底撤销提交git revert # 创建反向提交说明:默认HEAD例如可以直接git reset --hard 分支管理查看分支git branch # 查看本地分支git branch -r # 查看远程分支git branch -a # 查看所有分支git branch -v # 查看分支最后提交git branch --merged # 查看已合并分支git branch --no-merged # 查看未合并分支创建/删除分支git branch # 创建分支git checkout -b # 创建并切换git switch -c # 创建并切换Git 2.23git branch -d # 删除分支git branch -D # 强制删除git branch -m # 重命名当前分支切换分支git checkout # 切换分支git switch # 切换分支Git 2.23git checkout - # 切换到上一个分支合并分支git merge # 合并分支git merge --no-ff # 禁用快进合并git merge --squash # 压缩合并git merge --abort # 中止合并变基git rebase # 变基git rebase -i HEAD~3 # 交互式变基git rebase --continue # 继续变基git rebase --abort # 中止变基git rebase --skip # 跳过当前提交 远程操作拉取git fetch # 获取远程更新git fetch origin # 从特定远程获取git fetch --prune # 获取并清理已删除的远程分支git pull # 拉取并合并git pull origin main # 从特定分支拉取git pull --rebase # 拉取并使用变基说明:git pull 默认拉取合并当前分支推送git push # 推送到远程git push origin # 推送到特定分支git push -u origin # 设置上游并推送git push --force # 强制推送危险git push --force-with-lease # 安全强制推送git push --tags # 推送标签git push origin --delete # 删除远程分支git push origin : # 删除远程分支旧语法️ 标签管理git tag # 查看标签git tag v1.0.0 # 创建轻量标签git tag -a v1.0.0 -m “版本说明” # 创建附注标签git tag -d v1.0.0 # 删除标签git push origin v1.0.0 # 推送标签git push origin --tags # 推送所有标签git checkout v1.0.0 # 切换到标签git show v1.0.0 # 查看标签详情 暂存与清理储藏git stash # 储藏当前修改git stash save “说明” # 储藏并添加说明git stash list # 查看储藏列表git stash pop # 应用并删除最新储藏git stash apply # 应用但不删除git stash drop # 删除最新储藏git stash clear # 清空所有储藏git stash show -p # 查看储藏内容清理git clean -n # 预览将被删除的文件git clean -f # 强制删除未跟踪文件git clean -fd # 删除未跟踪文件和目录git clean -x # 删除包括忽略的文件 比较与查找比较git diff # 工作区与暂存区比较git diff --staged # 暂存区与仓库比较git diff HEAD # 工作区与最新提交比较git diff # 两个提交比较git diff --name-only # 只显示文件名git diff --stat # 显示统计信息#保存到当前目录的文件git diff diff_output_$(date %Y%m%d_%H%M%S).txt#保存到指定路径git diff /path/to/your/directory/diff_output.txt#追加到文件不覆盖git diff /path/to/directory/diff_output.txt#比较两个提交之间的差异git diff commit1 commit2 /path/to/diff.txt#比较工作目录和暂存区的差异git diff changes.patch#比较暂存区和最新提交的差异git diff --cached staged_changes.patch#比较两个分支git diff branch1…branch2 branch_diff.txt查找git grep “关键词” # 在工作区搜索git grep -n “关键词” # 显示行号git grep --cached “关键词” # 在暂存区搜索git blame # 查看文件每行修改历史git show # 查看提交详情git show : # 查看文件在特定提交的内容⏪ 撤销与恢复撤销工作区修改git checkout – # 撤销文件修改git checkout . # 撤销所有修改git restore # 恢复文件Git 2.23撤销暂存git reset HEAD # 从暂存区移除git restore --staged # 取消暂存Git 2.23恢复删除的文件git checkout HEAD – # 恢复被删除的文件git restore --sourceHEAD # 从指定提交恢复 高级操作二分查找git bisect start # 开始二分查找git bisect bad # 标记为坏版本git bisect good # 标记为好版本git bisect reset # 重置二分查找子模块git submodule add # 添加子模块git submodule update --init # 初始化子模块git submodule update # 更新子模块重写历史git filter-branch # 重写历史危险git replace # 替换对象归档git archive --formatzip HEAD project.zip # 打包 帮助与调试git help # 查看命令帮助git -h # 查看简要帮助git reflog # 查看操作记录git fsck # 检查仓库完整性git gc # 垃圾回收git verify-commit # 验证GPG签名 实用别名示例添加到 ~/.gitconfig[alias]co checkoutbr branchci commitst statusunstage reset HEAD –last log -1 HEADlg log --oneline --graph --decoratehist log --prettyformat:‘%h %ad | %s%d [%an]’ --graph --dateshorttype cat-file -tdump cat-file -p 美化输出彩色输出git config --global color.ui auto自定义log格式git log --prettyformat:‘%C(yellow)%h %C(cyan)%ad %C(green)%an %Creset%s’ --dateshort 常用工作流典型开发流程git clone # 克隆项目git checkout -b feature # 创建功能分支… 开发 …git add . # 添加修改git commit -m “添加功能” # 提交git push origin feature # 推送创建PR/MR合并到主分支更新本地git checkout maingit pull origin maingit checkout featuregit rebase main # 或 git merge main

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价