【Linux学习笔记】git三板斧

【Linux学习笔记】git三板斧

 🌟个人主页:努力学习的小汤  

🌈专栏系列:linux

目录

❄️前言:

☀️版本控制器git

☀️git简史

☀️git三板斧

⭐gitee创建仓库并克隆到本地

⭐1. git add

⭐2. git commit

⭐3. git push

⭐4. 首次使用git

☀️git其他操作

⭐git status

⭐git log

⭐git pull

☀️本章小结:

🌻共勉:


❄️前言:

 上一篇博客我们学习了make和makefile自动化构建工具,今天我们来学习一下git的三板斧。

☀️版本控制器git

为了我们方便管理不同版本的文件,就有了版本控制器;

所谓的版本控制器,就是能够了解到一个文件的历史记录(修改记录);简单来说就是记录每一次的改动和版本迭代的一个管理系统,同时也方了多人进行协作。

当前应用最广泛的版本控制器就是gitgit可以控制电脑上所有格式的文件。

之前我们在windows下使用git来管理自己的本地文件,并上传至gitee

☀️git简史

​ 同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。绝大多数的Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到2002年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux内核社区免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 LinusTorvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。他们对新的系统制订了若干目标:

速度。简单的设计。对非线性开发模式的强力支持(允许成千上万个并行开发的分支)。完全分布式。有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)。

自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。

那我们在linux下该如何使用git来管理文件呢?

☀️git三板斧

在使用之前,当然要先进行安装git

yum install git 

在进行管理之前,我们要登录gitee官网注册属于自己的账号https://gitee.com

gitee创建仓库并克隆到本地

在注册完成账号之后,我们的账号下是没有任何仓库的;我们要先进行创建仓库,并且将仓库克隆到自己的本地来管理自己的文件。

创建仓库:

在注册完成账号后,来到个人主页,点击右上角头像旁边的+,点击创建仓库,进入创建仓库的界面。

进入到以下界面

这里填写一下仓库信息

仓库名称:为自己的仓库起个名字

仓库介绍:简单介绍自己的仓库

初始化仓库:初始化语言,模版(gitignore),开源许可证

设置模版:选择readme文件(可以编辑该文件,帮助读者快速了解自己的仓库内容。

分支模型:这里选择单分支模型(根据自己需求选择)。

创建完成就进入了以下界面;(可以看到readme文件,我们克隆到本地后可以进行修改)。

创建完成之后,我们将这个仓库,克隆到本地

  1. 点击上图中的克隆/下载,获取当前仓库地址

点击之后,有上述提示,我们只需要在本地执行即可。

git clone https://gitee.com/lxb0720/test_linux.git 

如上图所示,就成功将仓库克隆到本地了,我们现在就可以看到仓库里的内容了

⭐1. git add

git add,我们在windows下,直接点击,选择要添加的文件即可;

但是在linux下,我们不能像windows那样选择要添加的文件,所以我们要告知我们要上传的文件就行上传。

⭐2. git commit

当我们git add之后,文件只是上传到了暂存区,并没有被管理起来;

我们要执行git commit将暂存区的文件上传到本地仓库,让文件被管理起来。
git commit -m "描述信息" 

这里推荐加上-m选项,并且加上描述信息,就像写日志那样。

⭐3. git push

通过git commit,我们已经将文件在本地仓库管理起来;但是,这些文件还并没有同步到远端;我们在gitee上还是无法看到这些文件。

git push就是件本地仓库内容同步到远端。

在执行git push之后,需要我们输入gitee的用户名和密码才能上传成功。

⭐4. 首次使用git

如果第一次使用git上传文件,需要我们配置运行用户名和邮箱;在我们点击克隆/下载时,就有提示

直接指向下面指令即可。

git config --global user.name '用户名' git config --global user.email '邮箱' 

☀️git其他操作

git status

对于git status,这个操作的作用就是查看当前的状态;

说简单一点就是看现在进行了哪一步操作。

这里再看git commit后的状态

这里执行git push后,再次来查看

git log

我们使用git来管理我们的文件,那如果我们想要查看我们提交上传的记录,就要用到git log

这里就可以看到我们的提交用户和日期以及提交的日志信息

git pull

在了解这个指令之前,我们先来看git是如何管理并同步到远端的。

看到这里可能有疑惑,本地文件夹和本地仓库不一样吗?

肯定是不一样的,在我们将远端仓库克隆到本地文件夹时,我们该目录下是存在一个.git隐藏文件的

我们看到还存在一个gitigonre文件,那这个文件是干什么的呢?

这里就直接说了

.gitignore文件是在我们上传文件时,需要忽视的文件名后缀。

什么意思呢?

这里.gitinore文件中存在多种文件名的后缀,这里就看.o

我们在编译时可能会产生临时文件.o,但是我们不希望将这个临时文件上传,这时gitignore文件中有.o,在上传的时候就会忽略.o,不会将其上传。

到这里git简单操作就结束了,后期深入学习git之后再来详细探讨git。

☀️本章小结:

模块核心知识点具体操作 / 指令补充说明
Git 基础定义与优势Git:分布式版本控制器,可管理任意格式文件2005 年由 Linus 开发,适配 Linux 内核级超大规模项目核心优势:速度快、设计简单、支持多分支并行开发、完全分布式
安装(Centos/RedHat)yum install gitUbuntu 系统可使用apt install git
Gitee 仓库操作仓库创建1. 登录 Gitee(https://gitee.com)2. 个人主页右上角「+」→「创建仓库」3. 填写仓库名称、描述等信息,完成创建仓库是存放项目文件的容器,支持公有 / 私有权限设置
克隆仓库到本地git clone 仓库地址例:git clone https://gitee.com/lxb0720/test_linux.git克隆后本地生成仓库目录,包含远端仓库所有文件及.git 隐藏目录(本地仓库核心)
Git 核心三板斧暂存文件(add)git add 文件名:暂存指定文件git add .:暂存当前目录所有修改文件将本地修改的文件提交到「暂存区」,是提交前的必要步骤
提交到本地仓库(commit)git commit -m "描述信息"1. -m 必须加,描述信息需清晰(如「新增 test.c 文件」)2. 将暂存区文件提交到「本地仓库」,生成版本记录
推送到远端仓库(push)git push1. 执行后需输入 Gitee 用户名 + 密码验证2. 将本地仓库提交记录同步到 Gitee 远端仓库3. 首次推送前需配置用户信息(见下方)
Git 基础配置首次使用配置git config --global user.name '用户名'git config --global user.email '邮箱'--global 表示全局配置,所有仓库共用该信息用户名 / 邮箱需与 Gitee 注册信息一致
Git 辅助操作查看状态(status)git status显示文件的修改状态:未跟踪 / 已修改 / 已暂存 / 已提交可快速判断哪些文件需要 add/commit/push
查看提交日志(log)git log显示所有提交记录,包含提交人、时间、描述信息、版本号便于追溯版本修改历史
拉取远端更新(pull)git pull将 Gitee 远端仓库的最新内容同步到本地仓库多人协作时,推送前建议先 pull 避免冲突
.gitignore 文件作用配置需要忽略的文件 / 后缀避免上传临时文件(如.o、.out、.i 等编译产物)、敏感文件等
配置示例在.gitignore 中写入:.o.out*.log配置后,git add/push 会自动忽略匹配的文件,不会纳入版本控制

🌻共勉:

以上就是本篇博客的所有内容啦,我们下期见,加油!


Read more

【C++】STL有序关联容器的双生花:set/multiset 和 map/multimap 使用指南

【C++】STL有序关联容器的双生花:set/multiset 和 map/multimap 使用指南

🔥拾Ծ光:个人主页👨🏻‍💻 👏👏👏欢迎来到我的专栏: 🎉《C++》 📌《数据结构》 💡《C语言》 目录 前言: 1、set容器  常用接口说明: 1.1、构造函数——constructor 1.2、迭代器——iterator 1.3、插入——insert 1.4、删除——erase 1.5、查找——find 1.6、统计指定节点个数——count 1.7、区间查找——lower_bound/upper_bound 2、multiset容器  常用接口说明: 2.1、插入——insert 2.

By Ne0inhk
【C++算法刷题营地】—— 【string类面试题】Cyber顶级骇客带你速刷 C++ string类 中的常见算法题

【C++算法刷题营地】—— 【string类面试题】Cyber顶级骇客带你速刷 C++ string类 中的常见算法题

⚡ CYBER_PROFILE ⚡ /// SYSTEM READY /// [WARNING]: DETECTING HIGH ENERGY 🌊 🌉 🌊 心手合一 · 水到渠成 >>> ACCESS TERMINAL <<<[ 🦾 作者主页 ][ 🔥 C语言核心 ][ 💾 编程百度 ][ 📡 代码仓库 ] --------------------------------------- Running Process: 100% | Latency: 0ms 索引与导读 * 一、字符串转换 * 1)字符串转换整数 * 关键点拨 * 完整代码 * 最直接的替代接口:stoi * 小试牛刀:整数转字符串 * 2)字符串相加 * 关键点拨 * 完整代码 * 3)仅仅反转字母 * 关键点拨 * 完整代码 * 4)反转字符串 * 4.

By Ne0inhk
(赠源码)农产品销存一体化系统的设计与实现57231-( java、PHP、python、C#、小程序、机器学习、大数据、深度学习、爬虫,大屏可视化、文案全套、毕设定制/成品等)

(赠源码)农产品销存一体化系统的设计与实现57231-( java、PHP、python、C#、小程序、机器学习、大数据、深度学习、爬虫,大屏可视化、文案全套、毕设定制/成品等)

摘要   近年来,电子商务的快速发展引起了行业和学术界的高度关注。农产品销存一体化系统的设计与实现旨在为用户提供一个简单、高效、便捷的农产品购物体验,它不仅要求用户清晰地查看所需信息,而且还要求界面设计精美,使得功能与页面完美融合,从而提升系统的可操作性。因此,我们需要深入研究信息内容,并利用技术手段来完善农产品销存一体化系统的设计与实现。 首先,论文分析了农产品销存一体化系统的需求和功能,包括前台的首页、农产公告、农产资讯、团购中心、商城管理和后台的系统用户、售后记录管理、系统管理、农产公告管理、资源管理、商城管理等。该系统旨在提供一个便捷的在线销存一体化平台,供用户购买农产品。然后,系统采用Java作为主要开发语言,SpringBoot作为开发框架,使用MySQL数据库进行数据存储,并结合前端技术实现了用户界面的设计。通过该系统,用户可以浏览农产品信息、下单购买、管理个人订单、地址等功能。本文详细描述了系统的功能需求、数据库设计、系统架构和主要模块的实现过程。通过测试和验证,该系统达到了预期的目标,为农产品销存一体化提供了有效的支持。 关键词  Java;SpringB

By Ne0inhk
C++ 函数重载:规则、实现与实战案例

C++ 函数重载:规则、实现与实战案例

C++ 函数重载:规则、实现与实战案例 💡 学习目标:掌握函数重载的核心规则,能够熟练实现重载函数,并解决实际开发中重载相关的常见问题。 💡 学习重点:函数重载的匹配原则、与默认参数的冲突处理、实战场景中的重载应用。 一、函数重载的定义与核心价值 ✅ 结论:函数重载是 C++ 多态性的基础体现,允许同一作用域内定义多个同名函数,通过参数列表的差异区分调用。 函数重载的核心价值在于: 1. 简化函数命名,避免为功能相似的函数创建不同名称,提升代码可读性 2. 适配不同类型或数量的参数输入,让函数调用更灵活 ⚠️ 注意事项:函数返回值不能作为区分重载函数的依据。 例如以下代码是非法的: #include<iostream>usingnamespace std;// 非法重载:仅返回值不同intadd(int a,int b){return a + b;}doubleadd(int a,int

By Ne0inhk