Git版本控制速成:提交三板斧/日志透视/远程同步15分钟精通,掌握历史回溯与多人协作安全模型


🔥@雾忱星: 个人主页
👀专栏:《C++学习之旅》《Linux学习指南》
💪学习阶段:C/C++、Linux
⏳"人理解迭代,神理解递归。"


文章目录



引言

日常写文档、改代码时,反复修改易弄丢历史版本,手动备份副本又多又乱,版本管理难题十分常见。为解决这类问题,版本控制工具应运而生,Git更是当下最主流的选择,也是开发者必备工具。

本篇教程将从Git简史入手,用通俗语言和实操步骤,讲解基础安装、仓库搭建、核心操作,破解多人协作同步难题,帮大家快速上手Git,告别版本混乱。



一、"药引子":Git的简史

1.1 日常"痛点"

  其实在我们的日常生活对于"版本"这个概念很熟悉,不知道你们有没有遇到这样的情况:比如我们在写报告,每次写完提交都被告知不合格要重新写,这样反反复复改了几个版本,最后却说要前面哪个哪个版本的报告,但是我们却没有保留历史版本,这就很悲催了!

  这就有人说"呢可以把每次的报告版本都留下来啊,复制粘贴形成一个副本",这样是没错,但是每次改动都要生成一个副本,以往下来难免会产生许多副本,有时候自己都不知道每个副本都写了啥。这和我们写代码也是一样的。

1.2 版本控制器

  为了方便管理我们的历史版本,以便随时可以使用任何版本,版本控制器就诞生了。它的本质就是保留你的历史版本,让你知道一个文本改变的历史以及发展过程。目前主流的版本控制器就是 Git ,它可以管理电脑上存在的所有格式的文件。Git 的重要性对于开发人员而言,是必备的版本管理与协作工具。

  Git 的诞生可以说也是应时代要求:对于Linux内核开源项目的开发有着众多参与者,所以就存在着提交补丁和保存归档的繁琐事务,这种情况随着开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束,收回 Linux 内核社区免费使⽤BitKeeper的权力更为严重。

  这种情况就迫使开发者们尤其是 Linus Torvalds开始研制自己的版本控制器。自2005年 Git 诞生,其功能日趋成熟,并且不断变得更为强大。

二、常见的Git操作

2.1 在Linux终端安装git

以CentOs系统为例,进入Linux环境后,执行指令:(我这里使用的是普通用户)

bash 复制代码
sudo yum install -y git

【示范】:

bash 复制代码
[tac@VM-0-6-centos ~]$ sudo yum install -y git
[sudo] password for tac: 
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
epel                                                                                                                                                | 4.3 kB  00:00:00     
extras                                                                                                                                              | 2.9 kB  00:00:00     
os                                                                                                                                                  | 3.6 kB  00:00:00     
updates                                                                                                                                             | 2.9 kB  00:00:00     
Package git-1.8.3.1-25.el7_9.x86_64 already installed and latest version
Nothing to do

如果在执行指令后出现Nothing to do 代表系统已经默认帮你安装了git工具。

【查看安装路径】:

bash 复制代码
[tac@VM-0-6-centos ~]$ which git
/usr/bin/git

【查看安装版本】:

bash 复制代码
[tac@VM-0-6-centos ~]$ git --version 
git version 1.8.3.1

2.2 创建远程仓库:gitee平台

在 gitee 创建远程仓库之前,你需要先注册一个账户,此处略过......

  1. 登录好个人账户后,点击网页右上角的'+'号,选择新建仓库。
  1. 进入到此页面后,根据自己的实际需要填写仓库名称,路径部分 ai 会自动匹配生成,完成后点击创建即可完成。

2.3 在终端创建本地仓库

  1. 在账户中找到创建好的仓库,点击克隆下载选项,进入到以下界面:


  1. 复制当前界面的一行代码到 Linux 终端,你要建立仓库的路径下,完成本地仓库的建立:

【注意】:用户名不是你起的名字,看克隆界面的最下方

  1. 身份验证:在进行代码提交前需要对gitee的账户信息进行验证,确保是对应用户提交,复制下面两行代码到终端运行:

2.4 提交代码三板斧

  1. git add .:将源文件修改信息添加到仓库中;

  2. git commit -m "提交日志":将修改信息提交到仓库。(不要胡写,一定要写明修改操作,养成好习惯!!);

  3. git push;同步远程、本地仓库;


在执行完git add .git commit -m "提交日志"git push三板斧后,并正确进行身份验证后,即可在Gitee平台对应的远端仓库看到自己的提交记录并有绿点记录。

【细节补充】:

.gitignore文件:在仓库路径下的隐藏文件,其作用是------忽略特定后缀的文件的提交、管理临时文件

在此文件中,可以随意更改文件中的内容(添加文件后缀/删除文件后缀),达到忽略/不忽略文件提交的作用。


三、解决多人协作痛点:仓库不同步

【场景】:

在多人协作开发一个项目的时候, 每个人负责一个板块的代码,想要形成项目就等将代码提交到一个仓库,也就是多人公用一个仓库,此时可能各自的操作终端不同,或是LInux终端,或是Windows终端。

【问题】:

当员工A提交了代码之后,但是其他人可能不知道,此时当员工B想要提交他的代码就可能显示本地仓库与远端仓库不同步,提交失败!

这就需要先同步本地仓库与远端仓库------员工B先将员工A提交后的远端仓库同步到自己的本地仓库------保证员工B的本地仓库是最新的,这时就可以提交了。

这个机制就保证了在多人协作时强制同步更新仓库!

同步仓库指令: git pull

其他指令:

  • git clone - 将远端仓库克隆到本地;
    核心作用: 从远程仓库(比如 Gitee)完整复制一份仓库到你的本地电脑,包括所有代码、提交历史、分支等全部内容。

  • git log - 查看历史记录;
    核心作用: 查看本地仓库的提交(commit)历史,包括每次提交的作者、时间、提交信息、提交哈希值(唯一标识)等。

  • git status - 查看当前状态;
    核心作用: 查看本地工作区、暂存区的文件状态,比如哪些文件被修改了、哪些文件是新增的、哪些文件还没被 Git 追踪、当前处于哪个分支等。

  • git --help - 查看更多指令;
    核心作用: 查看 Git 的官方帮助文档,包括所有 Git 指令的说明、用法、参数等。



总结

html 复制代码
🍓 我是雾忱星⭐!若这篇技术干货帮你打通了学习中的卡点:
👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长
❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量
⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用
💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑
🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解
技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标!

结语:

本文梳理了Git诞生背景,详解了Linux环境下Git安装、仓库搭建、核心提交指令,也解决了多人协作仓库同步的常见问题,补充了实用辅助指令。

Git是高效的版本管理与团队协作利器,能精准留存文件历史、避免版本错乱,掌握这些基础操作,既能搞定个人文件管理,也是团队开发的必备基础,熟练运用后能大幅提升协作效率。

相关推荐
ZhengEnCi1 小时前
Q03-UI设计进阶技巧-让界面更高级的7个核心原则
人工智能
IT_陈寒1 小时前
React的这个渲染问题连官方文档都没说清楚
前端·人工智能·后端
葫芦和十三2 小时前
图解 MongoDB 15|journal 与持久化:写入怎么不丢,崩溃怎么恢复
后端·mongodb·面试
葫芦和十三2 小时前
图解 MongoDB 16|压缩:snappy、zstd 和 zlib 的取舍
后端·mongodb·面试
苍何2 小时前
终于找到免费开源TTS模型,克隆声音不要钱,本地电脑也能跑
后端
不加辣椒3 小时前
第12章 工具调用与 Agent 提示工程
人工智能
用户593608741403 小时前
Spring AI 集成 DeepSeek 原生供应商并实现think模式
后端
追逐时光者3 小时前
别再满网找零散工具了,腾讯 QQ 浏览器这个“帮小忙”工具箱真能省时间
前端·后端
用户1693176172663 小时前
前端给AI消息做日期分组与时间线
人工智能
心静自然凉8003 小时前
Linux网络核心知识+bonding主备模式配置
后端