【Linux】Git - 新手入门

文章目录

  • 1. git 版本控制器 - 该如何理解?
  • 2. git / gitee / github 区别?
  • 3. Linux 中 git 的使用
    • 3.1 安装 git
    • 3.2 使用 github 新建远端仓库
      • 3.2.1 账号注册
      • 3.2.2 创建代码仓库
      • 3.2.3 克隆仓库到本地
      • 3.2.4 .gitignore 文件
    • 3.3 使用 git 提交代码到 github
      • 3.3.1 三板斧第一招:git add
      • 3.3.2 三板斧第二招:git commit
      • 3.3.3 三板斧第三招:git push

在这里插入图片描述

1. git 版本控制器 - 该如何理解?

版本控制:

  • 我们写的代码不是一成不变的,往往需要经过多次修改
  • 但是可能会有一些尴尬的问题:比如我把代码改了,发现 bug 更多了,之前的代码也找不到了,怎么办?
  • 难道每次写代码之前,我都要自己先备份一遍吗?这也太麻烦了
  • 有没有一种工具可以自动帮我保存每次修改前后的代码,并且显示哪里进行了修改呢?
  • 于是 git 出现了,git 可以帮助我们管理各个版本的代码,以及其他强大且实用的功能,比如:多人协作,分布式管理
  • 今天只是简单入门,先在 Linux 系统上把 git 用起来

在这里插入图片描述

2. git / gitee / github 区别?

  • git 是一个工具,用于进行版本管理,本身不需要联网,即可在本地进行各种各样的管理
  • github / gitee 是一个网站,它们都依赖于 git
  • github 是一个国外的网站,我们访问经常会收到限制,所以 gitee 诞生了,gitee 是我国的一个网站,在功能上这两个网站是差不多的
  • git 本身不方便查看,因为它没有图形化的界面,所有操作都需要在命令行上完成,所以有了 gitee / github 这样的网站,把代码上传后,我们就可以在网站上很方便的查看到我们提交过的代码
  • gitee / github 有类似于“云盘”的功能,即使本地的代码由于各种原因被销毁了,只要你曾经把代码上传过 gitee / github ,就能直接克隆回本地
  • github 同时也是一个社区,被戏称为“全球最大的同性交友网站”,我们可以在这里认识全世界的优质开发者,以及他们各种各样的实用代码项目

在这里插入图片描述

3. Linux 中 git 的使用

3.1 安装 git

  • 要使用 git ,当然要先在我们的 Linux 上安装 git
yum install -y git

在这里插入图片描述

3.2 使用 github 新建远端仓库

3.2.1 账号注册

  • 点我进入 github 官网,并根据提示完成账号注册

在这里插入图片描述

3.2.2 创建代码仓库

  1. 点击这个绿色的New

在这里插入图片描述

  1. 根据提示输入信息,然后点下面这个绿色的Create repository,可能需要等待一会

在这里插入图片描述

  1. 在创建好的仓库页面中,复制仓库的链接,以便接下来进行克隆

在这里插入图片描述

3.2.3 克隆仓库到本地

  • 打开 Linux 系统,找到一个合适的路径,克隆
git clone 刚才复制的链接

在这里插入图片描述

3.2.4 .gitignore 文件

在别人的代码仓库经常会看到一个 .gitignore 文件,那么这个文件有什么用呢?

  • 作用:过滤掉不想提交的文件
  • 拿 vs 举例,每个工程文件里都有一大堆自动生成的其他文件,而我们只想上传自己写的 .h .c .cpp 文件,这时候就可以用 .gitignore 文件来自动过滤掉不想提交的文件

在这里插入图片描述

  • 使用方法:直接把 .gitignore 文件放到仓库目录即可

3.3 使用 git 提交代码到 github

首先要有一个文件用于提交,这里我把上次写的进度条拿过来

在这里插入图片描述

3.3.1 三板斧第一招:git add

git add 文件名
  • 作用:将需要用 git 管理的文件告知 git

在这里插入图片描述

3.3.2 三板斧第二招:git commit

git commit -m "本次提交说明"
  • 作用:将git add的代码提交到本地仓库

在这里插入图片描述

注意:第一次使用 git 可能会遇到报错,让我们输入邮箱和用户名

在这里插入图片描述

解决方法:

git config --global user.email "你的邮箱"
git config --global user.name "你的用户名"

这里的邮箱和用户名建议与注册 github 时的邮箱和用户名的保持一致

3.3.3 三板斧第三招:git push

git push
  • 作用:将git commit的代码同步到远端服务器
  • 需要填入用户名和密码,同步成功后刷新 github 网页,即可看到推送成功的代码

注意:这里可能遇到两个报错…我研究了一下,简单来说:

  1. 新版 git 改变了默认的推送模式,报错如下:
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:git config --global push.default matchingTo squelch this message and adopt the new behavior now, use:git config --global push.default simpleSee 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
  1. github 不让使用 用户名+密码 的方式验证,报错如下:
fatal: Authentication failed for 'https://github.com/TianJiaQi-Code/Linux.git/'

为了方便查阅,我把解决方法单独写了两篇博客:

  • 【已解决】warning: push.default is unset; its implicit value is changing in Git 2.0 from…
  • 【已解决】fatal: Authentication failed for ‘https://github.com/…/‘

解决完这些问题后,就可以正常使用git push

在这里插入图片描述


END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/625071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 0082.删除排序链表中的重复元素 II:模拟

【LetMeFly】82.删除排序链表中的重复元素 II:模拟 力扣题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/ 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字…

数据结构学习 jz30 包含 min 函数的栈

关键词:排序 题目:最小栈 方法一:在记录这个数的同时,记录目前的最小值。看了提示才写出来的。 方法二:辅助栈。辅助栈保持非严格递减。看了k神的答案。 方法一: 一开始没想到怎么存最小,看…

【野火i.MX6NULL开发板】Linux系统下的Hello World

0、前言 参考资料: 《野火 Linux 基础与应用开发实战指南基于 i.MX6ULL 系列》PDF 第25章 本章比较抽象,涉及理论知识,不明白,可以看看视频讲解: https://www.bilibili.com/video/BV1JK4y1t7io?p29&vd_sourcef…

拼多多今年的校招薪资。。。

拼多多校招情况分析 关于校招情况分析,我们写过了争议巨巨巨巨大的 华为、互联网宇宙厂 字节跳动 以及如今有点高攀不起的新能源车企 比亚迪。 群里收集过小伙伴的意见,除上述大厂以外,大家最感兴趣的还是市值刚超过阿里的砍厂:拼…

transbigdata笔记:其他方法

1 出租车相关 1.1 taxigps_to_od transbigdata.taxigps_to_od(data, col[VehicleNum, Stime, Lng, Lat, OpenStatus]) 输入出租车GPS数据,提取OD信息 data出租车GPS数据col[VehicleNum, Time, Lng, Lat, OpenStatus]五列 比如GPS数据长这样: oddata …

Maven《二》-- Maven的安装与配置(亲测成功版)

目录 🐶2.1 Maven的安装条件 🐶2.2 Maven安装步骤 1. 检查本地%JAVA_HOME% 2. 解压maven 3. 配置maven的环境变量 4. 校验maven是否配置成功 5. 配置本地仓库 🐶2.3 Idea配置本地Maven软件 🐶2.1 Maven的安装条件 各个工具…

为什么要找实习以及如何更好地度过实习期

前言 在职业发展的旅程中,实习是一个至关重要的阶段。不论是在大学生涯的尾声,还是在职场新人的起步阶段,寻找实习机会都是一项关键任务。然而,为什么要找实习?这个问题背后蕴含着更深层次的意义和价值。在这篇博客中…

java SSM物资采购管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM物资采购管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采…

burp靶场-API testing

burp靶场 1.服务端主题 1.API测试 https://portswigger.net/web-security/api-testing#top 1.1 api探测api路径,数据格式,交互方法,参数是否必选: ## 使用Burp Scanner来爬取 API https://portswigger.net/burp/vulnerabilit…

虚幻UE 材质-材质图层、材质图层混合

学习材质图层和材质图层混合的使用,便于节点扫盲。 文章目录 前言一、材质图层混合二、使用步骤总结 前言 材质混合我们之前用Bridge的插件进行混合过 而此次我们的材质混合使用UE自带的材质图层和材质图层混合来实现 一、材质图层混合 材质图层混合是一种允许将…

Github镜像加速器-FastGit

简介 FastGit 是一个对于 GitHub.com 的镜像加速器。使用共享资源为 GitHub 加速。 FastGit中文指南 # 基本使用 关于 FastGit 的使用,本质上与 git 有关。常规的面向 GitHub 的 clone 命令可能如下: git clone https://github.com/author/repo使用 F…

烟火检测/周界入侵/视频智能识别AI智能分析网关V4如何配置ONVIF摄像机接入

AI边缘计算智能分析网关V4性能高、功耗低、检测速度快,易安装、易维护,硬件内置了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,上报识别结果,并能进行语音告警播放。算法可按需组合、按…

《C++大学教程》4.25星号正方形

题目: //while循环实现int main() {int n;cout << "请输入边长&#xff1a;";cin >> n;int i 1; while (i < n){ // 控制行数int j 1;while (j < n){ // 控制列数if (i 1 || i n || j 1 || j n){cout << "*";}else{cout <…

yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的

技术很久不用&#xff0c;就变得生疏起来。对npm深受其害&#xff0c;决定对yarn再整理一遍。 yarn包管理器 介绍安装yarn帮助信息最常用命令 介绍 yarn官网&#xff1a;https://yarn.bootcss.com&#xff0c;学任何技术的最新知识&#xff0c;都可以通过其对应的网站了解。无…

浏览器打印无法显示单选框选中效果

上面是原代码&#xff0c;我点击打印&#xff0c;出现打印页面&#xff0c;但单选框并未勾选中&#xff0c;我在外部放了一模一样的代码是能勾选上的&#xff0c;于是我对打印页的input单选框进行分析&#xff0c;发现他丢失了checked属性。然后通过gpt分析原因。得知了default…

软件测试|使用matplotlib绘制多种柱状图

简介 在数据可视化领域&#xff0c;Matplotlib是一款强大的Python库&#xff0c;它可以用于创建多种类型的图表&#xff0c;包括柱状图。本文将介绍如何使用Matplotlib创建多种不同类型的柱状图&#xff0c;并提供示例代码。 创建基本柱状图 首先&#xff0c;让我们创建一个…

【设计模式-05】Facade门面Mediator调停者 | Decorator装饰器 | Chain Of Responsibility责任链

Facade门面Mediator调停者 1、Facade门面图解 2、Mediator调停者 一般是系统内部相互交错&#xff0c;比如消息中间件(MQ)就是这种设计模式&#xff0c;对各个功能或系统之间进行解耦。 Decorator装饰器 1、问题 2、解决方案 Chain Of Responsibility责任链 一、例子场景 业…

网络命令行工具nc的使用复习

之前写过nc的博文&#xff1b;下面复习一下&#xff1b; 可以把nc放到C:\Windows\System32下&#xff1b; nc -l -p 9007&#xff0c;-l 是监听模式&#xff0c;-p指定端口&#xff0c;作为服务端监听9007端口&#xff1b; nc 127.0.0.1 9007&#xff0c;作为客户端去连接指定…

数据洞察力,驱动企业财务变革

我们不得不面对一个现实&#xff0c;就是数据量的剧增。加上大部分企业并不愿意删除历史数据&#xff0c;以防未来预测分析时需要&#xff0c;这造成数据就像一个雪球&#xff0c;越滚越大。然而&#xff0c;过多的数据和数据不足一样会成为企业发展和理解分析的障碍。从海量数…

玩转硬件之Micro:bit的玩法(六)——扫地机器人

众所周知&#xff0c;扫地机器人&#xff0c;又称自动打扫机、智能吸尘、机器人吸尘器等&#xff0c;是智能家电的一种&#xff0c;能凭借人工智能&#xff0c;自动在房间内完成地板清理工作。一般采用刷扫和真空方式&#xff0c;将地面杂物先吸纳进入自身的垃圾收纳盒&#xf…