【Linux】Git - 新手入门

文章目录

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

3.2 使用 github 新建远端仓库

3.2.1 账号注册

3.2.2 创建代码仓库

  1. 点击这个绿色的New
  1. 根据提示输入信息,然后点下面这个绿色的Create repository,可能需要等待一会
  1. 在创建好的仓库页面中,复制仓库的链接,以便接下来进行克隆

3.2.3 克隆仓库到本地

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

3.2.4 .gitignore 文件

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

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

3.3 使用 git 提交代码到 github

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

3.3.1 三板斧第一招:git add

bash 复制代码
git add 文件名
  • 作用:将需要用 git 管理的文件告知 git

3.3.2 三板斧第二招:git commit

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

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

解决方法:

bash 复制代码
git config --global user.email "你的邮箱"
git config --global user.name "你的用户名"

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

3.3.3 三板斧第三招:git push

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

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

  1. 新版 git 改变了默认的推送模式,报错如下:
bash 复制代码
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 不让使用 用户名+密码 的方式验证,报错如下:
bash 复制代码
fatal: Authentication failed for 'https://github.com/TianJiaQi-Code/Linux.git/'

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

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


END

相关推荐
JiMoKuangXiangQu2 小时前
ARM64 进程虚拟地址空间布局
linux·arm64 虚拟地址布局
阳光九叶草LXGZXJ3 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
春日见3 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
珠海西格3 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源
无垠的广袤3 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:缺陷检测
linux·人工智能·python·opencv·开发板
阿波罗尼亚4 小时前
Kubectl 命令记录
linux·运维·服务器
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.4 小时前
Keepalived单播模式配置与实战指南
linux·服务器·负载均衡
IDC02_FEIYA4 小时前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器
江畔何人初4 小时前
kubectl apply与kubectl create的区别
linux·运维·云原生
M158227690555 小时前
四通道全能组网!SG-Canet-410 CAN转以太网网关,破解工业CAN通信瓶颈
linux·运维·服务器