坚持用 清晰易懂的图解 + 代码语言,让每个知识点变得简单!
🚀呆头个人主页详情
🌱 呆头个人Gitee代码仓库
📌 呆头详细专栏系列
座右铭: “不患无位,患所以立。”
《Git从入门到精通:告别版本管理混乱》
- 前言
- 目录
- 🚀版本控制器
- 🚀Git简史
- 🚀安装Git
- 🚀在Gitee / Github上创建项目
- 🛸注册账号
- 🛸创建项目
- 🚀三板斧上传
- 🛸配置个人信息
- 🛸git add 命令
- 🛸git commit -m " " 命令
- 🛸git push 命令
- 🚀其他命令
前言
🚀 欢迎来到《Linux系统实战》!
这里是命令行到内核的跃迁基地,也是你从"rm -rf恐惧症"到"权限管理大师"的修炼场。
🔍 专栏特色:
- 图解+实战:用最直观的方式拆解Linux核心机制
- 从应用到底层:覆盖Shell脚本、系统调优、内核模块开发
- 真实场景:每篇附服务器运维/开发中的实际问题解决方案
💡 学习建议:
1️⃣ 先动手尝试(搞崩了也没关系)
2️⃣ 对照文章分析原理
3️⃣ 用文末【实战任务】巩固技能
📌 Linux经典名言:
“Linux不是背出来的,是在一次次Permission denied
中练出来的!”
(正文开始👇)
目录
🚀版本控制器
不知道你工作或学习时,有没有遇到这样的情况:我们在编写各种文档时,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出一个副本,比如:
…
“报告-v1”
“报告-v2”
“报告-v3”
“报告-确定版”
“报告-最终版”
“报告-究极进化版”
…
每个版本有各自的内容,但最终会只有一份报告需要被我们使用 。
但在此之前的工作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的文件就越来越多,文件多不是问题,问题是:随着版本数量的不断增多,你还记得这些版本各自都是修改了什么吗?
文档如此,我们写的项目代码,也是存在这个问题的!!
为了能够更方便我们管理这些不同版本的文件,便有了版本控制器。所谓的版本控制器,就是能让你了解到一个文件的历史,以及它的发展过程的系统。通俗的讲就是一个可以记录工程的每一次改动和版本迭代的一个管理系统,同时也方便多人协同作业。
目前最主流的版本控制器就是 Git 。Git 可以控制电脑上所有格式的文件,例如 doc、excel、dwg、dgn、rvt等等。对于我们开发⼈员来说,Git 最重要的就是可以帮助我们管理软件开发项目中的源代码文件!
🚀Git简史
同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。
Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。
他们对新的系统制订了若干目标:
- 速度
- 简单的设计
- 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
- 完全分布式
- 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令⼈难以置信的非线性分支管理系统。
🚀安装Git
以CentOS7.6为例:
sudo yum install git -y
🚀在Gitee / Github上创建项目
🛸注册账号
这个比较简单, 参考着官网提示即可. 需要进行邮箱校验.
🛸创建项目
- 登陆成功后, 进入个人主页, 点击右上角的 新建仓库 按钮新建仓库
- 然后跳转到的新页面中输入仓库名称(注意, 名称不能重复, 系统会自动校验. 校验过程可能会花费几秒钟). 校验完毕后, 根据提示填写信息,初始化仓库后,确认创建.
- 在创建好的项目页面中复制项目的链接, 以备接下来进行下载.
- 将远端目录拷贝到本地(采用刚刚复制的链接)
此时我们会发现文件中多了Linux,使用vim打开,会发现其内容就是在Gitee中的内容
🚀三板斧上传
🛸配置个人信息
git config --global user.email "你的邮箱@example.com"
git config --global user.name "你的用户名"
🛸git add 命令
将代码放到刚才下载好的目录中
git add [文件名]
#添加指定文件git add .
#所有未添加的文件
🛸git commit -m " " 命令
将提交改动的信息到本地目录,将暂存区的文件提交到本地
git commit - m “xxx” (xxxx表示你改动的信息或者备注)
提交的时候应该注明提交日志,描述改动的详细内容
git commit -m "XXX" #添加描述
🛸git push 命令
这里每次提交需要输入自己的账号和密码,如果想要免密配置:
免密配置教程
🚀其他命令
以下是 Git 常用命令的对比表格,包含您提到的命令及补充的其他高频命令,按功能分类整理:
命令 | 作用 | 常用参数/示例 | 适用场景 |
---|---|---|---|
git pull | 拉取远程更新并合并本地分支 | git pull origin main | 协作开发时同步他人代码 |
git fetch | 仅下载远程更新不自动合并 | git fetch --all | 查看远程变化后再决定是否合并 |
git log | 查看提交历史 | git log --oneline --graph -n 5 | 回溯代码修改记录 |
git reflog | 查看所有操作记录(包括已删除的提交) | git reflog show --date=iso | 恢复误删的分支/提交 |
git stash | 临时保存工作区修改 | git stash push -m "备注" git stash pop | 紧急切换分支时保留未完成的工作 |
git status | 查看工作区状态 | git status -s (简洁模式) | 快速确认修改/暂存文件 |
git diff | 查看文件修改内容 | git diff HEAD~1 (与上一版本对比) | 代码审查或确认变更 |
git reset | 版本回退 | git reset --hard HEAD~1 (彻底回退)git reset --soft (保留修改) | 撤销提交或合并 |
git branch | 分支管理 | git branch -a (查看所有分支)git branch -d feat (删除分支) | 功能开发/修复Bug |
git checkout | 切换分支或恢复文件 | git checkout -b new-feat (创建并切换)git checkout -- file.txt (丢弃修改) | 多任务并行开发 |
git cherry-pick | 选择性合并提交 | git cherry-pick <commit-hash> | 移植特定提交到其他分支 |
git rebase | 变基操作(整理提交历史) | git rebase -i HEAD~3 (交互式变基) | 合并提交记录保持线性历史 |