Git 全套常用命令手册(含日常开发示例)

Git 全套常用命令手册(含日常开发示例)

本文整合 Git 基础命令、分支管理、远程操作、回退重置及日常开发常用操作

目录

  1. 基础操作
  2. 分支与合并
  3. 远程仓库
  4. 提交与撤销
  5. 标签管理
  6. 配置与状态
  7. 日常开发常用命令
  8. 回退重置示例(上一次提交)
  9. Git 操作流程图
  10. 快捷总结

基础操作

命令用途示例备注
git init初始化本地仓库git init当前目录生成 .git 文件夹
git clone克隆远程仓库git clone <url>
git clone -b <分支> <url> <目录>
克隆指定分支到指定目录
git add添加文件到暂存区git add <文件>
git add -A
可多次执行,只有暂存区内容会被提交
git status查看工作区和暂存区状态git status未跟踪文件、修改文件等信息
git diff查看文件改动git diff
git diff --cached
--cached 比较暂存区和上次提交
git commit提交到本地仓库git commit -m "描述"
git commit -a -m "描述"
-a 提交修改和删除的文件,不包含新文件
git checkout切换分支/版本git checkout <分支>
git checkout -b <新分支>
切换分支会重写工作区内容
git mv重命名文件或目录git mv old.txt new.txt等同于 mv + git add
git rm删除文件或目录git rm <文件>
git rm -r <目录>
git rm --cached <文件>
--cached 保留本地文件,只删除跟踪

分支与合并

命令用途示例备注
git branch分支管理git branch
git branch -v
显示本地分支和最后一次提交
git branch <新分支>创建分支git branch feature1基于当前 HEAD 创建
git branch -m old new重命名分支git branch -m master main不加 old 为当前分支
git branch -d <分支>删除分支git branch -d feature1强制删除用 -D
git checkout <分支>切换分支git checkout develop会更新 HEAD
git checkout -b <新分支>创建并切换分支git checkout -b feature2合并 branch + checkout
git merge <分支>合并分支git merge feature2自动生成提交
git merge --no-commit <分支>合并但不提交git merge --no-commit feature2可手动检查修改
git rebase <分支>基于另一分支变基git rebase develop整理提交历史

远程仓库

命令用途示例备注
git remote查看远程仓库git remote
git remote -v
显示别名和 URL
git remote add <别名> <url>添加远程仓库git remote add origin <url>常用 origin
git remote rename <原> <新>修改远程仓库别名git remote rename origin upstream
git remote remove <别名>删除远程仓库git remote remove origin
git fetch拉取远程更新git fetch
git fetch origin master
不会修改本地分支
git pull拉取并合并git pull等同于 fetch + merge
git push推送本地提交git push origin master指定远程分支
git push --delete <远程分支>删除远程分支git push origin --delete feature1

提交与撤销

命令用途示例备注
git reset撤销提交git reset <commit>
--soft/--mixed/--hard
soft 保留修改到暂存区,mixed 保留工作区,hard 完全回退
git revert生成新提交撤销git revert <commit>保留历史,不破坏提交链
git commit --amend修改上次提交git commit --amend -m "新描述"适用于未推送到远程的提交

标签管理

命令用途示例备注
git tag查看标签git tag
git tag <name> [commit]创建轻量标签git tag v1.0可指定 commit
git tag -a <name> -m "desc" [commit]创建附注标签git tag -a v1.1 -m "release"附带描述信息
git show <tag>查看标签信息git show v1.0包含提交信息
git tag -d <tag>删除标签git tag -d v1.0
git push <remote> <tag>推送标签git push origin v1.1
git push <remote> --tags推送所有标签git push origin --tags

配置与状态

命令用途示例备注
git config配置 Gitgit config --global user.name "name"可全局、仓库级、系统级
git config -l查看配置git config -l显示当前生效配置
git config --global color.ui true彩色显示提高可读性
git config --global credential.helper store长期保存密码默认保存在本地明文
git log查看提交记录git log
git log -5
可限制数量

日常开发常用命令

场景命令说明
暂存当前修改git add .添加所有修改到暂存区
查看状态git status当前分支、修改、暂存文件
查看差异git diff查看未暂存修改
提交修改git commit -m "描述"提交暂存区内容
回退工作区git checkout <file>撤销未提交修改
暂存改动存起来git stash临时存储修改,恢复干净工作区
恢复 stashgit stash pop恢复最近一次 stash
删除 stashgit stash drop删除指定 stash
解决冲突git merge <branch> / git rebase手动编辑冲突文件,git addgit commit
查看日志git log --oneline --graph --all可视化提交历史

回退重置示例(上一次提交)

操作类型命令工作区变化暂存区变化提交记录变化
撤销未提交修改git checkout <file>恢复无影响无影响
撤销暂存区修改git reset <file>保留清空指定文件无影响
撤销上一次提交 (保留修改)git reset --soft HEAD~1保留保留删除上一次提交
撤销上一次提交 (保留工作区)git reset --mixed HEAD~1保留清空删除上一次提交
撤销上一次提交 (完全回退)git reset --hard HEAD~1清空清空删除上一次提交
撤销上一次提交 (保留历史)git revert HEAD无影响无影响新增撤销提交

Read more

盘点IDEA中那些实用的GIT小技巧

盘点IDEA中那些实用的GIT小技巧

作者:唐叔在学习 专栏:唐叔的Java实践 关键词:IDEA技巧,开发效率优化, 代码比较, 团队协作, 程序员必备, 代码管理 一句话:还在用Commit和Pull?唐叔教你解锁IDEA中那些隐藏的Git神操作,让代码管理变得如此简单! 文章目录 * 前言 * 🔄 一、智能更新项目:Update Project * 🔍 二、精准代码比较:Git Show Diff * 1. 当前修改比较:Git Show Diff * 2. 分支/标签比较:Compare Branch or Tag * 📜 三、追溯代码历史:Show History for Selection * 💾 四、灵活提取修改:Patch * 📦 五、暂存未提交代码:Uncommitted

By Ne0inhk
免费无套路!开源 PPT 神器 Presenton 本地部署全攻略,10 分钟搞定专业演示文稿

免费无套路!开源 PPT 神器 Presenton 本地部署全攻略,10 分钟搞定专业演示文稿

1.前言 AI生成PPT是一种利用人工智能技术帮助用户快速创建专业级演示文稿的方法。用户只需提供主题或内容大纲,AI算法就会自动分析并生成幻灯片,从而节省时间和精力。以下是几种常见的AI生成PPT的方式和工具. 上面的PPT 生成效果都不错,但是上面的PPT很多都是付费的。前段时间都豆包生成一个PPT ,生成的PPT 是非常好看,结果呢?好不容易上他生成的PPT。 结果下载下来的时候弹个框 1个月49 ,好像不便宜啊。关键是我平常用PPT 也不多,一个月 做不了几张。结果 要掏49块钱,我感觉这个钱可以订阅其他国外付费模型了。 有没有办法使用免费开源的PPT项目呢?这样我在公司内部搭建起来,数据私密性、会员费也都可以省了。呵呵这个想法不错。接下来我们在github找一下有没有PPT 生成的开源项目。结果真给我找到了,下面看一下生成的效果 总共我让它生成了8页,效果还是不错的。下面手把手带大家本地电脑上部署一个生成PPT 的开源项目。 2.项目的部署 这个项目的开源地址是:https://github.com/presenton/presenton 目前这个项目开源时

By Ne0inhk
Flutter 三方库 better_commit 的鸿蒙化适配指南 - 实现具备语义化提交规范与自动化交互的 Git 工作流插件、支持端侧版本工程的高效规范化审计实战

Flutter 三方库 better_commit 的鸿蒙化适配指南 - 实现具备语义化提交规范与自动化交互的 Git 工作流插件、支持端侧版本工程的高效规范化审计实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 better_commit 的鸿蒙化适配指南 - 实现具备语义化提交规范与自动化交互的 Git 工作流插件、支持端侧版本工程的高效规范化审计实战 前言 在进行 Flutter for OpenHarmony 开发时,当团队规模扩大到需要多人协同、频繁提交代码时,凌乱的 Commit Message 会让 Git 历史变得难以审计(如:分不清哪些是功能修复、哪些是底层鸿蒙适配)。better_commit 是一款专注于极致规范化提交的 CLI 增强工具。本文将探讨如何在鸿蒙端构建极致、专业的工程化提交标准。 一、原直观解析 / 概念介绍 1.1 基础原理 该库建立在“Angular 提交规范”之上。它通过交互式的命令行引导(

By Ne0inhk
VsCode远程连接服务器后安装Github Copilot无法使用

VsCode远程连接服务器后安装Github Copilot无法使用

VsCode远程连接服务器后安装Github Copilot无法使用 1.在Vscode的settings中搜索Extension Kind,如图所示: 2.点击Edit in settings.json,添加如下代码: "remote.extensionKind":{"GitHub.copilot":["ui"],"GitHub.copilot-chat":["ui"],} remote.extensionKind 的作用 这是 VS Code 的远程开发配置项,用于控制扩展在远程环境(如 SSH、容器、WSL)中的运行位置。可选值: “ui”:扩展在本地客户端运行 “workspace”:扩展在远程服务器运行 这两个扩展始终在 本地客户端运行,

By Ne0inhk