GitHub 运用实战入门,奶妈级教学
## 前言:
我不会用*官方*的语言告诉你Git 是什么,对此我表示深深得歉意~~
在我看来像CSDN、博客园、掘金等博客交流平台就是小的“GitHub”,只不过在这里更多的是一些零零散散的笔记或者文章,其实Gihub也是一样的“交流(友)社区",这里有一本正经的开源项目,你可以在上面学习别人的开源项目也可以上传属于自己的作品,也有各种沙雕的个人“作品”,比如 [The F**k](https://github.com/nvbn/thefuck)、比如:[P站logo生成器](https://github.com/bestony/logoly),以及各种奇葩的交友方式 /滑稽。咳咳,总的来说呢,Github 是一个供大家“学习”的平台,同时也是一个学习交流社区,就酱。我只想带你入坑,至于你学的怎么样,我包不负责 /抠鼻

## 阅读说明:
总文加起来 *20分钟*可以看完,我把总文分成了 Git`命令`实战 和 GitHub `运用` 两部分,各位不用担心~常用的Git命令两只手就可以数过来,无非就是提交和下载,**本篇是 Git 运用实战**,好了那么我们开始进入~~入坑~~ 学习吧。
Git命令实战入门:[传送门](https://blog.csdn.net/weixin_44355591/article/details/105125343)
## GitHub!!
相比大家一定听说过这个 ~~大型同性交友社区~~ Github我的个人理解就是代码托管的地方,比如你有个自己的小项目,你可以把它开源让更多人的看到并且利用,也可以仅有自己可见。它还可以接受别人的推送,比如:有人看了你的代码觉得有些地方写的不够好,那么他可以对你的内容进行修改,如果你觉得满意你就可以接受他的修改,同样你也可以拒绝。个人开发来说用的最多的就是无非就是clone 和 上传自己的作品,接下来让我们进入正题吧。
首先你需要注册一个[GitHub](https://github.com/)的账号(访问有时候会很慢耐心等待), 创建好以后我们就可以把本地的电脑和远程的GitHub连接起来了!在看我们的界面右上角
**点击settings**

**点击SSH**


## 配置SSH key
那么问题来了SSh key在哪里?直接在本机Mac`终端`/ Win `CMD` 输入
`ssh-keygen -t rsa -C "yourself email.com"` 换成你的邮箱写在里面然后回车,

它会让你设置一些密码,不用管他一路回车就好,回车完以后他会告诉你的密钥存放在哪个目录
Linux 会放在 `/root/.ssh/`
Win 也会有对应的`提示`的
MacOS 为例 密钥放存放在了 `/User/liuyang/.ssh` :


SSH密钥文件在 `.ssh` 隐藏文件下,我们通过访达搜索到达

id_rsa是私钥, id_rsa.pub是公钥 known_hosts不必了解(这里用过多了解,把私钥保留好不要告诉任何人,我们打开并且复制公钥的内容),打开终端 输入一下内容

然后把公钥的内容粘贴到Git 的 SSH keys 就好了,title 可以自己写一个标题

这样我们本地的电脑就和远端的Github“联系”好了,这两者直接就可以互通了!好了接下来我们在Github开始创建我们的~~小黑屋~~ 吧 /滑稽,我们回到Github主页



…or create a new repository on the command line **翻译:** …或在命令行上创建新的存储库
…or push an existing repository from the command line **翻译:** …或从命令行推送现有存储库
因为我们在本地已经创建了我们的Git仓库所以我们选择后者,推送到现有的储存库到社区,我们只需要在**本地 Git 仓库** 输入上面的提示命令就好了,我的提示命令是
> git remote add origin https://github.com/Titanium-ly/MyfistGit.git
> git push -u origin master:
然后回到主页可以看到我们的**公共仓库** MyfirstGit


LICENCE(声明)是我自己又多写的一个文件,到这里我们已经能够把本地的作品上传到社区了!
## Clone!!
我们新建一个资料库,记得选上最下面的 Initialize this repository with a README **翻译**:使用自述文件初始化此存储库 , 这个会自动生成一个`README.md` 文件, 通常来说这个文件是来写你对自己“作品”的使用说明,形象来说是 “使用说明书”但不止“说明书”/

这个资料库在Github上创建好了,那么我们尝试在本地Clone把它下载到本地使用,打开我们刚刚创建好的资料库

回到本地后我们 使用 `git clone` 命令克隆这个项目

嘘~~ 小声 ** , clone 真是件爽快的事情 = =
## 分支Branch!!
我们知道有时候一个项目的开发可能需要多个人一同开发,这时候为我们的项目创建分支分配各自任务就能够提高开发效率,这就像是大树,刚在我们的提交修改都是在“树干” 上完成的,接下来让我们在一个“树杈”下工作
回到Git仓库
> [root@StrawberryJam Git]# pwd
>/home/liuyang/Git
使用`git branch “branchname”`来创建分支 , `git checkout` 命令来**切换**分支
>git branch branch_1
>git checkout branch_1
`git branch` 命令查看我们的所有分支

然后我们对 `demo.txt` 文件进行修改,我们添加了一句话 *这是分支的修改*
随后git add 和 commit

然后我们切换到 master分支看一下文件内容,我们发现这个分支上的内容并没有被修改,原因是我们并没有把`brach_1` 分支合并到`master`

使用`git merge` 命令把branch_1 **合并**到 master

如果不再需要branch_1分支,那么就可以把它**删掉**了

## 分支冲突
我们知道一个分支修改,另一个分支不动,那么合并的时候就会很正常的合并,那么如果两个分支都对一个文件修改了怎么办呢?创建新的分支`branch_2` 并在次分支上修改`demo.txt` 文件,提交修改。

随后我们**切换**到`master`,并且在master对demo.txt 文件进行修改,并且提交

我们在两个分支上都对同一个 `demo.txt` 文件做出了修改,现在我们尝试**合并**两个分支

`cat demo.txt` 查看文件,并且给出了**不同**分支的冲突内容

看来我们只能修改`demo.txt` 内容来让他们合并了,我觉得master的修改不错,我选择master的修改,然后重新提交

最后删除 `branch_2` 分支

到这里我们也知道了如果出现分支冲突要如何处理了,nice!
GitHub 运用实战入门,奶妈级教学的更多相关文章
- Git 命令实战入门 ,奶妈级教程
我不会用*官方*的语言告诉你Git 是什么,对此我表示深深得歉意--在我看来像CSDN.博客园.掘金等博客交流平台就是小的“GitHub”,只不过在这里更多的是一些零零散散的笔记或者文章,其实Gihu ...
- 《Unity3D大风暴之入门篇(海量教学视频版)》
<Unity3D大风暴之入门篇(海量教学视频版)> 基本信息 作者: 智画互动开发团队 出版社:电子工业出版社 ISBN:9787121222429 上架时间:2014-1-13 出版日期 ...
- 《ASP.NET Core项目开发实战入门》带你走进ASP.NET Core开发
<ASP.NET Core项目开发实战入门>从基础到实际项目开发部署带你走进ASP.NET Core开发. ASP.NET Core项目开发实战入门是基于ASP.NET Core 3.1 ...
- 跟我一起学.NetCore之EF Core 实战入门,一看就会
前言 还记得当初学习数据库操作时,用ADO.NET一步一步地进行数据操作及查询,对于查询到的数据还得对其进行解析,然后封装返回给应用层:遇到这种重复而繁琐的工作,总有一些大神或团队对其进行封装,从而出 ...
- GitHub新手快速入门日常操作流程
GitHub新手快速入门日常操作流程 1. 注册帐号 打开https://github.com/,填写注册信息并提交. 2. 登录帐号 打开https://github.com/login,输入注册的 ...
- Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接
Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接: 推荐给你高品质的实战课程 https://laravel-china.org/courses?rf=158 ...
- Swagger保姆级教学
Swagger保姆级教学 Swagger 简介 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样 ...
- 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳
学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...
- 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳
学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 ...
随机推荐
- <select>标签,不要在select标签中写value属性!!!
<select> select标签,一个选择框标签,在开发中很多时候会用到这个标签,例如选择生日19**年,或者在segmentfault中编辑文章时选择'原创','转载',还是'翻译'等 ...
- intel硬件视频加速介绍
目录 硬件视频加速技术 intel 硬件加速技术 intel 的开源媒体栈 VA-API 安装 样例 Intel Quick Sync(QSV) API支持情况 vaapi/mfx比较 安装 样例 硬 ...
- 第三章、vue基础精讲
3.1VUE实例 组件:全局组件,局部组件,vue的每个组件也是一个实例,有自己的实例属性和实例方法. 在console中调试vue,vm为vue的实例,凡是以$开头的都是vue的实例属性或者vue的 ...
- HDFS NameNode详解
1. namenode介绍 namenode管理文件系统的命名空间.它维护着文件系统树及整棵树内所有的文件和目录.这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件fsimage和编辑日志文 ...
- 一起了解 .Net Foundation 项目 No.18
.Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧. 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译.如与原文存在出入,请以原文为准. Protobuild Pr ...
- Redux 架构理解
Redux 是一种前端“架构模式”,是 Flux 架构的一种变种,用来提供可预测的状态管理.虽然经常和 React 一起被提及,但是 Redux 却不仅仅只能用于 React,还可以将其运用到其他前端 ...
- C#如何实现大小写转换
2020-03-16 每日一例第8天 1.新建窗体应用程序,拖入label/textbox/radiobutton控件,并改text值: 2.button控件输入代码: if (radioButt ...
- C++ 小练习,一个整型数字的处理
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> //输入一个任意位数的int整数,并判断该整数的位数,并输出每一位数(每个数字中间用空 ...
- React 的 PureComponent Vs Component
一.它们几乎完全相同,但是PureComponent通过prop和state的浅比较来实现shouldComponentUpdate,某些情况下可以用PureComponent提升性能 1.所谓浅比较 ...
- 学习 CSS 之用 CSS 3D 实现炫酷效果
一.前言 把大象关进冰箱需要几步?三步,把冰箱门打开,把大象关进去,把冰箱门关上. 用 CSS 实现 3D 效果需几步?三步,设置透视效果 perspective,改变元素载体为 preserve-3 ...