【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

相关推荐
7yewh几秒前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
Arenaschi4 分钟前
在Tomcat中部署应用时,如何通过域名访问而不加端口号
运维·服务器
小张认为的测试4 分钟前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
waicsdn_haha12 分钟前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
打鱼又晒网12 分钟前
linux网络套接字 | 深度解析守护进程 | 实现tcp服务守护进程化
linux·网络协议·计算机网络·tcp
良许Linux26 分钟前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
蜜獾云37 分钟前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小屁不止是运维38 分钟前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
Hacker_Oldv43 分钟前
WPS 认证机制
运维·服务器·wps
bitcsljl1 小时前
Linux 命令行快捷键
linux·运维·服务器