【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,一经查实,立即删除!

相关文章

刷题02 数组easy

1752.数组是否能经排序和轮转得到 如果整个数组非递减,返回true,如果只有两个子数列非递减,并且两个子序列之间是有序的,返回true。 先找到第一个不满足非递减的位置i,如果inumsize,说明整个数组非递减。否…

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

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

1【Linux】入门 (权限的理解||umask||粘滞位||cc++程序的翻译过程||解释性语言和编译性语言的区别)

无废话,全干货 一.权限 1.基本权限 读(r): Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。 写(w): Write 对文件而言&…

线程池执行流程详解,主要介绍其参数,以及执行过程中核心线程,队列,最大线程等的执行添加顺序,以及为什么这么做

线程池执行流程主要涉及到以下几个关键组件:核心线程数、任务队列、最大线程数以及拒绝策略等。以下是线程池的工作流程详解: 创建线程池: 当我们创建一个线程池时,需要指定几个核心参数,如corePoolSize(核心线程数)、…

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

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

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

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

C++中JSON与string格式互转

1、JSON-》string 操作步骤&#xff1a; 1、在C中新建一个json对象并赋值&#xff0c;然后将其转给char *data。 2、在使用 #include <json.h> 头文件时&#xff0c;通常是使用第三方库 jsoncpp。由于它不是标准库的一部分&#xff0c;所以需要从官网http://jsoncpp.sou…

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

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

transbigdata笔记:其他方法

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

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

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

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

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

javascript 对yield生成器的理解

什么情况下可以使用yield&#xff0c;如果你后端传过来的数据量较大&#xff0c;你可以使用yield来进行懒加载&#xff0c;避免一次性的加载对前端造成卡顿&#xff0c;或长时间渲染等待&#xff0c;比较如说加载10万或几十万条数据时&#xff0c;前端一方面要读取一方面还要渲…

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

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

burp靶场-API testing

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

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

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

Github镜像加速器-FastGit

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

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

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

DA14531-外设驱动篇-UART收发通信应用

目录 1.I2C通信相关文件2.宏定义列表3.主要函数接口4.串口发送数据5.串口接收数据1.I2C通信相关文件 1)uart.c和uart.h(SDK文件) 2)app_uartProtocol.c和app_uartProtocol.h(用户应用文件) 2.宏定义列表 宏定义注解CFG_PRINTF用户开启串口CFG_PRINTF_UART2串口打印宏UA…

《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;都可以通过其对应的网站了解。无…