文章目录
- 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 创建代码仓库
- 点击这个绿色的
New
- 根据提示输入信息,然后点下面这个绿色的
Create repository
,可能需要等待一会
- 在创建好的仓库页面中,复制仓库的链接,以便接下来进行克隆
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 网页,即可看到推送成功的代码
注意:这里可能遇到两个报错…我研究了一下,简单来说:
- 新版 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)
- 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
啦