【Linux】Git - 新手入门

news2024/12/26 11:18:14

文章目录

  • 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 matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

See '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.coloradmin.cn/o/1386935.html

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

相关文章

【方法】Excel表格如何“限制编辑区域”?

在制作Excel表格的时候,你是否遇到这些情况?有时候需要限定部分区域让他人协助填写,有时候会有很多数据或公式,要防止误改,否则会引起错误。要保护好这些区域,我们可以给Excel表格设置“限制编辑区域”。 …

震惊!你还搞不懂PMP中的合同类型?

PMP中的合同类型包括固定总价合同、总价加激励费用合同、总价加经济价格调整合同、成本加固定费用合同、成本加激励费用合同和成本加奖励费用合同等。 下面分别针对各类合同进行详细的说明: 固定总价合同(FFP):是最常用的合同类型…

ERP和MES对接的几种接口方式

在数字化工厂的规划建设中,信息化系统的集成,既是重点,但同时也是难点。ERP和MES对接时,ERP主要负责下达生产计划,MES是执行生产计划,二套系统在数据交互时,需要确保基础数据的一致性&#xff0…

mysql原理--redo日志2

1.redo日志文件 1.1.redo日志刷盘时机 我们前边说 mtr 运行过程中产生的一组 redo 日志在 mtr 结束时会被复制到 log buffer 中,可是这些日志总在内存里呆着也不是个办法,在一些情况下它们会被刷新到磁盘里,比如: (1). log buffer…

B端产品经理学习-B端产品的项目管理

项目管理的作用 指导Roadmap落地 每个节点的项目时间需要按照时间点落地,才不会影响后面的项目事件 为了明确需求,明确研发的工作 避免产研部门因为需求扯皮、研发部门抱怨需求文档不够清晰、在开发过程中增加很多细节需求、增加了研发的工作量、初次…

探寻爬虫世界01:HTML页面结构

文章目录 一、引言(一)背景介绍:选择爬取51job网站数据的原因(二)目标与需求明确:爬取51job网站数据的目的与用户需求 二、网页结构探索(一)51job网页结构分析1、页面组成&#xff1…

紫光展锐T770安卓核心板_展锐T770 5G核心板规格参数

紫光展锐T770安卓核心板是一款高性能的5G安卓智能模块,拥有先进的6nm制程工艺和强大的性能。板载8GB Ram 256GBROM的内存单元,支持4K H.265/ H.264视频编解码,搭载Android 13以上操作系统,功能丰富。除了支持5G NSA和SA双模式向下…

分布式搜索——Elasticsearch

Elasticsearch 文章目录 Elasticsearch简介ELK技术栈Elasticsearch和Lucene 倒排索引正向索引倒排索引正向和倒排 ES概念文档和字段索引和映射Mysql与Elasticsearch 安装ES、Kibana安装单点ES创建网络拉取镜像运行 部署kibana拉取镜像部署 安装Ik插件扩展词词典停用词词典 索引…

勾股数 - 华为OD统一考试

OD统一考试 题解: Java / Python / C 题目描述 如果三个正整数A、B、C ,A B C 则为勾股数, 如果ABC之间两两互质,即A与B,A与C,B与C均互质没有公约数,则称其为勾股数元组。 请求出给定 n ~ …

一篇教你生成密钥给自己打的exe添加密钥

一篇教你生成密钥给自己打的exe添加密钥 我这里是自己写了一个python 打包exe,说总是给我报毒什么的 文章目录 一篇教你生成密钥给自己打的exe添加密钥前言一、使用java jdk 自带的keytool?二、进行转换2.把证书密钥写入到你的exe 总结 前言 生成密钥并为自定义 .…

【IPC通信--共享内存】

进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如…

xlua源码分析(五) struct类型优化

xlua源码分析(五) struct类型优化 上一节我们分析了xlua是如何实现lua层访问C#值类型的,其中我们重点提到了xlua默认实现方式下,struct访问的效率问题。实际上,xlua还提供了两种优化的方式,可以大大提高str…

软件测试|如何使用Selenium处理隐藏元素

简介 我们在使用selenium进行web自动化测试时,有时候会遇到元素被隐藏,从而无法对元素进行操作,导致我们的用例报错的情况。当我们遇到元素被隐藏的情况时,需要先对隐藏的元素进行处理,才能继续进行我们的操作&#x…

一篇文章搞懂Jenkins持续集成解决的是什么问题

01 持续集成的定义 大师 Martin Fowler 是这样定义持续集成的: 持续集成是一种软件开发实战, 即团队开发成员经常集成他们的工作. 通常, 每个成员每天至少集成一次, 也就意味着每天可能发生多次集成. 持续集成并不能消除Bug, 而是让它们非常容易发现和改正. 根据对项目实战的…

第08章_面向对象编程(高级)拓展练习(关键字:static,代码块,关键字:final,抽象类和抽象方法,接口,内部类,枚举类,注解,包装类)

文章目录 第08章_面向对象编程(高级)拓展练习01-关键字:static1、银行账户类2、图形类3、数组工具类4、二分查找5、二分查找6、素数7、阅读代码,分析运行结果8、阅读代码,分析运行结果 02-代码块9、阅读代码&#xff0…

软件测试|如何使用selenium处理下拉框?

简介 下拉框是网页表单中常见的元素之一,通常用于选择不同的选项。对于我们的自动化测试工作来说,操作下拉框是我们经常需要处理的元素,selenium作为我们最常使用的web自动化测试框架,也是支持我们对下拉框进行操作的。本文我们就…

Github镜像加速器-FastGit

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

Qt 使用vs2019制作Qt静态库( *.lib )并使用

一 .创建静态库 1.创建Qt Class Library(Qt静态类库)项目 2.设置项目名以及项目路径(注意:不能有中文字符) 点击next 3.选则需要的模式以及Qt 模块 然后点击next,Finish完成创建 4. 然后手动添加Qt Widget Form File (.ui)并对设计ui 5. tpendialog.h #pragma once #includ…

VScode远程连接开发嵌入式开发板

在做嵌入式开发时,很多时候需要远程连接或者远程调试设备,这时可以通过VScode上的插件来很方便的进行远程连接和调试。 ssh远程连接嵌入式开发板: 1、安装vscode ssh远程插件:Remote-SSH。 2、点击"",输入…

排序算法之七:归并排序(非递归)

1.非递归实现思路 我们之前学习了递归实现的归并排序,是分治的思想,即先分解,再归并 这篇文章我们讲一下非递归的实现 非递归实现的思路是模拟递归的过程,在递归过程中,我们找key将数组分成左右数组,然后…