发布时间:2026/8/25 20:36:15
Git版本控制常用命令 ai生成仅记录⚙️ Git 常用命令以下是一些日常使用中最常用和最核心的 Git 命令1.初始化与克隆 (Setup)命令作用git init在当前目录创建一个新的 Git 仓库初始化。git clone url克隆远程仓库到本地。2.查看状态与历史 (Status History)命令作用git status查看工作区、暂存区的文件状态哪些文件被修改、新增或删除。git log查看提交历史记录。git diff查看工作区和暂存区或者暂存区和最新提交之间的差异。3.暂存与提交 (Stage Commit)这三个步骤是您将本地修改保存到 Git 历史记录中的核心流程。命令作用git add file将工作区的指定文件或修改添加到暂存区(Staging Area)。git add .将所有修改和新增的文件添加到暂存区。git commit -m commit message将暂存区的文件正式提交到本地仓库并记录一条提交信息。4.分支操作 (Branching)分支是 Git 的强大功能之一用于隔离开发工作。命令作用git branch列出所有本地分支。git branch branch-name创建一个新分支。git checkout branch-name/git switch branch-name切换到指定分支。git checkout -b new-branch/git switch -c new-branch创建并立即切换到新分支常用。git merge branch-name将指定分支的修改合并到当前分支。5.远程操作 (Remote)用于和远程仓库如 GitHub, GitLab进行数据交换。命令作用git remote -v查看远程仓库的详细信息URL。git push remote branch推送本地分支的提交到远程仓库。git pull remote branch从远程仓库拉取获取并合并最新修改。建立与远程仓库的连接如果你本地已经有代码想关联到一个新创建的 GitHub 仓库添加远程地址git remote add origin 仓库URL注意origin是约定俗成的远程仓库别名你也可以起别的名字但通常建议用origin。验证连接情况git remote -v这会列出你目前关联的所有远程地址。如果输出为空说明还没连上。 将所有修改推送到远程仓库的步骤如果您想把本地的所有修改和新增包括您已经完成的多次commit推送到远程仓库您需要遵循以下三个主要步骤步骤 1: 确保所有修改都已提交Commit您需要使用git add和git commit将工作区和暂存区的所有修改都保存到本地仓库的历史记录中。添加所有修改到暂存区git add .提交暂存区的修改到本地仓库git commit -m 完成了本次所有的功能开发和修改提示运行git status确认没有未提交的修改工作区是干净的。步骤 2: 拉取远程仓库最新代码Pull在推送之前强烈建议先拉取一次远程仓库的最新代码以避免冲突。这是因为在您开发的过程中可能有其他同事也推送了新的代码。git pull origin your-branch-name # 示例如果您在 main 分支通常是 # git pull origin main如果远程有新的提交Git 会尝试自动合并。如果发生冲突 (Conflict)您需要手动解决冲突解决后再次git add .和git commit -m 解决冲突。步骤 3: 推送本地提交到远程仓库Push最后将您本地分支上新的提交推送到远程仓库。git push origin your-branch-name # 示例 # git push origin mainorigin通常是您的远程仓库的默认别名。your-branch-name是您当前所在的分支名称比如main,master, 或您的功能分支。执行完git push后您的所有本地修改就成功同步到远程仓库了 拉取其他分支代码的方法假设您当前在feature-A分支上工作但您需要获取main分支上的最新代码。1. 切换到目标分支然后合并Merge - 推荐使用这是最常用且最安全的方式它会将两个分支的修改历史都保留下来并创建一个新的“合并提交”来记录这次整合。步骤命令作用a. 切换到你的分支git checkout feature-A确保您位于想要接收代码的那个分支。b. 拉取并合并git merge main将main分支上的所有提交合并到当前的feature-A分支。执行git merge后的结果如果feature-A没有在main之后做任何修改Git 会执行快进式合并(Fast-Forward)。如果两个分支都有新的提交Git 会创建一个新的合并提交将两者的历史连接起来。如果遇到冲突您需要手动解决冲突然后使用git add .和git commit来完成合并。2. 变基Rebase - 适用于清理历史变基操作会将您当前分支的提交“移动”到目标分支的最新提交之后让您的历史看起来像是在目标分支的最新点上直接开始的。这会创建一个更线性的提交历史。步骤命令作用a. 切换到你的分支git checkout feature-A确保您位于想要接收代码的那个分支。b. 执行变基操作git rebase main将feature-A的所有提交重新应用到main分支的最新提交之上。执行git rebase后的结果feature-A上的提交会获得新的 SHA-1 ID。如果遇到冲突Git 会停下来您解决冲突后使用git rebase --continue继续变基过程。变基后由于历史被重写当您推送到远程仓库时可能需要使用强制推送(git push -f)但这非常危险仅当您完全理解其风险并且您的分支是私有分支时才推荐使用。⚠️注意不要对已经被推送到远程仓库且被多人共享的分支执行rebase操作。 总结与推荐操作优点缺点/注意点适用场景Merge (合并)保留完整的历史记录安全是默认和推荐的操作。提交历史图上会有额外的合并提交。推荐在集成长期分支如main或develop时使用。Rebase (变基)历史记录更简洁、线性。会重写历史不安全可能需要强制推送。不推荐在公共分支上使用适用于在推送到远程前整理自己的私有分支提交。如果您只是想简单地获取其他分支的最新代码使用git merge是最好的选择。Git撤销更改撤销工作区的所有修改最常用如果您改乱了代码想放弃自上次提交以来的所有本地修改还没执行过git add的部分命令git checkout .或者Git 新版本推荐git restore .作用将当前目录下所有受版本控制的文件恢复到上次提交时的状态。注意这个操作是不可逆的您本地还没提交的代码会直接消失。撤销已暂存的修改Unstage如果您已经运行了git add但还没git commit想把文件从暂存区拉回到工作区变成“已修改但未暂存”的状态命令git reset HEAD 文件名或者Git 新版本推荐git restore --staged 文件名作用撤销git add的效果但保留您在文件里写的代码修改。彻底重置放弃所有修改 放弃暂存Hard Reset如果您想一步到位把暂存区和工作区的修改全部删掉让它们跟当前节点一模一样命令git reset --hard HEAD作用强制将当前分支重置为HEAD。这会抹除所有未提交的记录。清理新增的文件Untracked Files上述命令只能处理“已被 Git 追踪”的文件。如果您新建了文件Untracked它们不会被reset或checkout删掉。查看将被删除的新文件git clean -n强制删除所有新文件/文件夹git clean -fd 总结建议您的需求命令只想撤销某些文件的改动git checkout -- file想把所有改乱的代码重来git checkout .彻底回滚到当前节点包含 add 过的git reset --hard HEAD想把误添加的文件移出暂存区git restore --staged .Git删除分支在 Git 中删除分支分为两种情况删除本地分支和删除远程仓库中的分支。1. 删除本地分支如果您已经完成了在该分支上的工作并将其合并到了主分支可以使用以下命令安全删除推荐git branch -d 分支名注意如果该分支包含尚未合并的修改Git 会报错以防止您丢失代码。强制删除慎用如果您确定不再需要该分支无论它是否合并都可以强制删除。git branch -D 分支名2. 删除远程分支如果您想从 GitHub 或 GitLab 等服务器上彻底删除某个分支需要使用push命令配合--delete参数。命令格式git push origin --delete 分支名origin是远程仓库的默认名称。执行后远程服务器上的该分支将被移除。 常见问题与提示不能删除当前所在的分支如果您正处于要删除的分支上Git 会报错。您必须先切换到其他分支如 master 或 maingit checkout master git branch -d 要删除的分支名清理本地残留的远程追踪有时候远程分支删除了但本地运行 git branch -a 还能看到。可以使用以下命令同步清理git fetch origin --prune.gitignore# 忽略所有的 .a 文件 *.a # 但追踪 lib.a尽管上面忽略了 .a 文件 !lib.a # 只忽略当前目录下的 TODO 文件不包含 subdir/TODO /TODO # 忽略 build/ 目录下的所有文件 build/ # 忽略 doc/notes.txt但不忽略 doc/server/arch.txt doc/*.txt # 忽略所有 .pdf 文件无论在哪个目录下 **/pdf/*.pdf克隆仓库时对子模块更新git submodule update --init --recursive改用户名和邮件# 一次性配置全局用户信息 git config --global user.name Zhang San git config --global user.email zhangsanexample.com # 为特定项目使用不同身份如工作/个人 cd /path/to/work-project git config user.name Zhang San (Work) git config user.email zhangsancompany.com只取几个提交想取任意几个提交直接输分支名就行git cherry-pick c1 c3 c4查看所有分支图git log --all --graph --oneline --decorate--all显示所有分支包括远程分支不仅仅是当前分支。--graph以图形化ASCII 字符显示提交历史树。--oneline每个提交只显示一行简化的 Hash 值和提交信息更紧凑。--decorate显示分支名、标签名如HEAD,origin/main方便识别。临时保存将未提交的修改“藏起来”清空工作区以便切分支或拉代码# 1. 保存当前修改压栈 git stash # 保存已追踪文件的修改 暂存区内容 git stash -u # 同时保存新增但未追踪的文件✅ 推荐 git stash push -m 修复登录页样式 # 添加描述方便后续识别 # 2. 查看已保存的列表 git stash list # 输出示例 # stash{0}: WIP on main: a1b2c3d 修复登录页样式 # stash{1}: WIP on dev: e4f5g6h 临时保存 # 3. 恢复修改出栈/应用 git stash pop # 恢复最近一次 stash并从列表中删除 git stash apply # 恢复最近一次 stash但保留在列表中可重复应用 git stash pop stash{2} # 恢复指定编号的 stash # 4. 删除 stash git stash drop stash{0} # 删除指定条目 git stash clear # 清空所有 stash使用场景开发到一半突然要切分支修 Buggit stash -u # 藏起当前工作 git checkout hotfix # 切换分支 # 修完切回后 git stash pop # 恢复之前进度Pull 前本地有冲突/未提交修改git stash -u git pull origin main git stash pop # 若冲突Git 会保留 stash解决后手动 git stash drop临时对比原始文件状态stash会清空工作区方便你直接git diff或查看干净版本。git回退到旧版本从旧版本拉出一个新分支的操作# 找旧提交 git log --oneline找要回退的commit id复制 # 回到旧提交 git checkout abc1234要回退的commit id) # 从这里创建新分支 git checkout -b my-new-branch # 提交你的修改 git add . git commit -m 基于旧版本修复用这个创建新分支也可以git switch -c 新分支名

相关新闻

2026/8/25 21:16:07

性能基准落地+问题单提报

性能基准落地问题单提报 实战闭环方案 一套可直接套用的闭环流程,包含基准建立步骤、环境校准要点、问题单提报模板,还加了AI辅助小技巧,彻底解决“测试结果无法转化为问题单”的难题。 一、 性能基准建立:三步搞定高中低三级评价…

2026/8/22 23:06:20

云克隆吃透犬角膜基质细胞的培养与制备难点,用全链路可控工艺、高标准质控、稳定的细胞性状,规避实验试错成本

犬角膜基质细胞(Corneal Stromal Cells,CSC)作为大型哺乳动物眼科研究的核心原代模型,角膜结构、基质特性、病理反应和人类高度接近,是角膜愈合、瘢痕形成、抗炎机制、眼科新药筛选、角膜生物材料验证的“黄金实验细胞…

2026/8/23 12:57:29

多云架构下,Atlas 怎么统一管理证书生命周期?

现在企业的数字证书早就不是一两张的事了。公有云、私有云、容器平台、CDN、物联网设备、内部业务系统,每个地方都在用证书,每个证书都有自己的到期时间。 大多数企业都是证书快到期了才开始续期,这样就导致很多证书容易被遗忘导致一系列的问…

2026/8/26 15:38:59

第一个C语言项目——AI辅助扫雷游戏实现

一、为什么选择扫雷作为第一个项目 前段时间刚学完分支循环、数组和函数,总觉得自己"学得会,用不出"。于是决定动手做一个控制台版的扫雷——把学到的东西真正用起来。 这篇博客记录的就是这个过程:从控制台版本的实现,…

2026/8/26 15:38:59

构建你的Agent框架

摘要:随着大语言模型(LLM)从“单一问答对话”向“自主执行复杂任务”演进,AI Agent(智能体)已成为当前 AI 应用落地的核心形态。很多开发者在探索 Agent 时,往往直接依赖 LangChain、CrewAI 或 …

2026/8/26 15:38:59

供应链合同管理的3个致命误区与系统化解决方案

做了多年供应链系统开发,我见过太多企业在合同管理上栽跟头。有意思的是,栽跟头的方式高度相似。同样的问题,在不同行业、不同规模的企业里反复出现。 我把最常见的三个误区写出来,不是为了让你们对号入座,而是希望做供…

2026/8/26 15:33:57

温州眼镜工厂出海:款式多、没团队,三步搭起海外获客体系

温州眼镜工厂出海:款式多、没团队,三步搭起海外获客体系📌 核心结论:瓯海、瑞安马屿眼镜工厂出海,破局的起点不是“建网站、投广告”,而是先建立一套“款式展示→客户触达→询盘转化”的获客体系。眼镜是快…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 16:56:43

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 0:04:32

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 1:19:35

JSON总结

JSON概念 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C、C#、Java、JavaScr…

2026/8/26 1:19:35

保存连接sse 是什么原理,为什么不会一直请求

“保持连接”用的是 SSE(Server-Sent Events),本质是一个没有马上结束的 HTTP 请求。 过程是: 拷贝机发送一次请求: GET /api/code-sync/events服务器返回: Content-Type: text/event-stream但不关闭响应&…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…