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(第二篇) 入门详解 - 精简归纳 ...
随机推荐
- 一步步去阅读koa源码,整体架构分析
阅读好的框架的源码有很多好处,从大神的视角去理解整个框架的设计思想.大到架构设计,小到可取的命名风格,还有设计模式.实现某类功能使用到的数据结构和算法等等. 使用koa 其实某个框架阅读源码的时候,首 ...
- MySQL数据库无完整备份删库,除了跑路还能怎么办?
1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与 ...
- JZOJ 5257. 小X的佛光 (Standard IO)
5257. 小X的佛光 (Standard IO) Time Limits: 2000 ms Memory Limits: 524288 KB Description Input Output Sam ...
- IOS 7 UITableView cell lines不能靠左解决方法
添加一句:[UITableViewappearance].separatorInset=UIEdgeInsetsZero; 就可以解决啦.
- Redis系列六 - 浅谈如何设计秒杀系统
前言 设计一个系统之前,我们肯定要先确认系统业务场景是怎样的,下面就以某电商平台上的秒杀活动为场景,一起来探讨一个秒杀系统改如何去设计. 场景 我们现在要卖100件纸尿布,按照系统的用户量及以往经验来 ...
- nes 红白机模拟器 第7篇 编译使用方法
模拟器,基于 InfoNES ,作者添加修改以下功能: 1, joypad 真实手柄驱动程序(字符型设备驱动) 2,原始图像只有256*240 ,添加 图像放大算法,这里实现了2种,a, 最近邻插值 ...
- MyISAM 和 InnoDB
1.MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级 ...
- 使用SharpDevelop配合MonoGame进行游戏开发
SharpDevelop是一款开源的轻量级IDE,它支持众多的语言及项目开发.可以看看支持的项目. 程序本体仅十几MB,打开项目速度飞快. 目前SharpDevelop最高支持C# 5.0,.NET ...
- selenium 操作 获取动态页面数据
# selenium from selenium import webdriver import time driver_path = r"G:\Crawler and Data\chrom ...
- 数据挖掘入门系列教程(四点五)之Apriori算法
目录 数据挖掘入门系列教程(四点五)之Apriori算法 频繁(项集)数据的评判标准 Apriori 算法流程 结尾 数据挖掘入门系列教程(四点五)之Apriori算法 Apriori(先验)算法关联 ...