【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 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【嵌入式学习笔记-02】什么是库文件,静态库的制作和使用,动态库的制作和使用,动态库的动态加载

【嵌入式学习笔记-02】什么是库文件,静态库的制作和使用,动态库的制作和使用,动态库的动态加载 文章目录 什么是库文件?编程模型的发展什么是库文件? 静态库的制作和使用动态库的制作和使用动态库的动态加载 什么是库文…

网络文件共享服务

一.存储类型 直连式存储:Direct-Attached Storage,简称DAS 存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理) 网络附加存储:Network-Attached Storage&…

gogs git创建仓库步骤

目录 引言创建仓库clone 仓库推送代码 引言 Gogs 是一款类似GitHub的开源文件/代码管理系统(基于Git),Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。 创建仓库 git中的组织可以把它看成是相关仓库的集合&#xff0c…

IO网络2.0

思维导图 机械臂 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.122.68" //服务端//TCP客户端 int main(int argc, const char *argv[]) {//创建套接字…

大模型理论基础1

大模型理论基础1 第一章&#xff1a;引言 语言模型 自回归语言模型 概率的链式法则&#xff1a; 在自回归语言模型 p 中生成整个序列 X1:L&#xff0c;我们需要一次生成一个令牌(token)&#xff0c;该令牌基于之前以生成的令牌进行计算获得&#xff1a; 其中T≥0 是一个控…

HNU-算法设计与分析-实验4

算法设计与分析实验4 计科210X 甘晴void 202108010XXX 目录 文章目录 算法设计与分析<br>实验41 回溯算法求解0-1背包问题问题重述想法代码验证算法分析 2 回溯算法实现题5-4运动员最佳配对问题问题重述想法代码验证算法分析 3 分支限界法求解0-1背包问题问题重述想法…

2024年百场进校公益安全培训开启

自2023年年底&#xff0c;上海风暴救援队积极策划并推动了2024年的“百场进校传安全”培训项目。经过在东方锦绣于2023年12月14日、上钢新村幼儿园于2023年12月28日的先期测试&#xff0c;项目于2024年1月5日在齐河路幼儿园正式启动。随后&#xff0c;于2024年1月11日在浦南幼儿…

一款基于.NET开发的免费的火车票分流抢票软件

前言 接近年底了又到了全员抢票的日子&#xff0c;今天有同学在技术群里问有没有黄牛推荐帮忙抢车票的。今天分享一个我一直在用的基于.NET开发的、完全免费的火车票分流抢票软件&#xff1a;Bypass。 软件介绍 Bypass是一款基于.NET开发的、完全免费的火车票分流抢票软件&am…

STM32F103标准外设库——认识STM32(一)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

【单片机】STM32 ARM Cortex-M0 微控制器特性概述 双排 TSSOP封装好手工焊接的STM32芯片,双排

STM32F070CB STM32F070RB STM32F070C6 STM32F070F6 在嵌入式系统和物联网应用中&#xff0c;ARM Cortex-M0 微控制器以其强大的性能和丰富的功能而备受瞩目。本文将介绍该微控制器的主要特性&#xff0c;使读者更好地了解其适用范围和潜在应用。 核心特性 ARM 32位 Cortex…

rime中州韵小狼毫 联想词组 滤镜

教程目录&#xff1a;rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 在 rime中州韵小狼毫 自定义词典 一文中&#xff0c;我们分享了如何在rime中州韵小狼毫须鼠管输入法中定义用户自定义词典&#xff1b;通过自定义词典&#xff0c;我们可以很方便的在…

Github仓库使用方式

主要参考&#xff1a; 「详细教程」使用git将本地项目上传至Github仓库&#xff08;MacOS为例&#xff09;_github上传代码到仓库-CSDN博客 新建文件夹参考&#xff1a; GitHub使用指南——建立仓库、建立文件夹、上传图片详细教程-CSDN博客 一、新建一个 github 仓库&#…

鸿蒙生态,对开发者来说有什么机遇?

在之前的文章中&#xff0c;我们探讨了鸿蒙应用开发中ArkTS的重要性。作为TypeScript的超集&#xff0c;ArkTS不仅继承了TypeScript的优秀特性&#xff0c;还具备自身独特的优势。 随着鸿蒙原生应用的全面开启&#xff0c;开发者们将迎来无数的机遇和挑战。本文将深入剖析鸿蒙…

强化学习应用(二):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于马尔可夫决策过程&#xff08;MDP&#xff09;的问题。它通过学习一个价值函数来指导智能体在环境中做出决策&#xff0c;以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…

自定义SpringBoot项目启动时控制台图标(如来佛祖,永不宕机)

自定义SpringBoot项目启动时控制台图标(如来佛祖&#xff0c;永不宕机) 默认的启动图标&#xff08;spring&#xff09; 自定义下载喜欢的banner.txt文件&#xff0c;将其放到resources目录下&#xff0c;springboot启动时会自动扫描更换启动图标 banner生成网站&#xff1a;…

工智能基础知识总结--神经网络

什么是神经网络 逻辑回归、感知机均只包含一个输入层以及一个输出层,只能处理线性可分问题。如果在输入层与输出层之间加入一层到多层的隐藏层,就会得到神经网络结构。 神经网络一般由输入层、隐藏层、输出层构成,下图展示了其一般结构: 隐藏层之所称之为隐藏层,是因为在…

git切换到另一分支更改也会随之过去

一次的修改如果没有 commit如果切换到另一分支就会把修改带到另一个分支 这时可以使用 git stash 其他使用场景 切换分支&#xff1a;当正在一个分支上工作&#xff0c;但需要临时切换到另一个分支处理一些紧急任务时&#xff0c;可以使用 git stash 保存当前的工作进度。完成…

2024年烟花爆竹储存证考试题库及烟花爆竹储存试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年烟花爆竹储存证考试题库及烟花爆竹储存试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大纲随机…

排序算法6---快速排序(非递归)(C)

回顾递归的快速排序&#xff0c;都是先找到key中间值&#xff0c;然后递归左区间&#xff0c;右区间。 那么是否可以实现非递归的快排呢&#xff1f;答案是对的&#xff0c;这里需要借助数据结构的栈。将右区间左区间压栈&#xff08;后进先出&#xff09;&#xff0c;然后取出…

web自动化实现登录的几种方式

目录 前言 一、pythonunittest框架实现登录功能 二、pythonselenium实现登录功能 三、pythonrequests库实现登录功能 前言 今天主要想介绍python语言不同的自动化测试框架的结合方式来模拟登录功能。想了解自动化测试框架的同学不要错过哦&#xff01; 一、pythonunittest框…