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

相关推荐
格林威2 小时前
Baumer相机金属冲压件毛刺高度测量:量化去毛刺效果的 5 个核心方法,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·c#·视觉检测·机器视觉·工业相机
Moment2 小时前
如果想转 AI 全栈?推荐你学一下 Langchain!
前端·后端·面试
gdizcm2 小时前
linux判断文件类型的多种方法
linux·c++
顾北122 小时前
Elasticsearch DSL 从入门到实战:全文检索 + 地理查询 + SpringBoot 整合全攻略
后端·elasticsearch
大鸡腿同学2 小时前
AI编程时代来临
后端
夜星辰20232 小时前
在服务器上使用 Docker,常用命令按功能分类整理
运维·服务器·docker
未来之窗软件服务2 小时前
东方仙盟VOS诸法空相架构思路—未来之窗行业应用跨平台架构
人工智能·架构·仙盟创梦ide·东方仙盟·昭和仙君
sofaraway132 小时前
未能下载 VS Code 服务器(Failed to fetch)解决办法
运维·服务器