GitHub基础使用指南
引言:
只要进行了一段时间的软件或者编程相关知识的学习,相信大家或多或少都会见过这只“猫猫”,这可不是什么宠物店铺的商标,身为即将成为程序猿/媛的你,或者已经是一位程序猿/媛的你,即使没有使用过,也会从别人的口中听说过它,它就是GitHub. 我自己在学习机器学习的相关内容时,在与老师进行讨论的时候,老师就时常告诉我“这些东西GitHub上都有现成的代码,你缺的是数据库”,这就引起了我对这个地方的莫大兴趣,在我一开始的想象中,那就是个百宝箱,有各种各样的代码,可以供给下载学习交流。可当我真正接触到它时,我却发现,这不仅仅是一个百宝箱,而是一个充满宝藏的巨大城堡,城堡里住着来自世界各地的程序员,宝藏就是那一行行的代码,这里就是编程学习的天堂!
一、GitHub简介
GitHub是一款社交编程以及代码托管网站,于2008年4月,由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者创办,简单的来说,GitHub就是全是界程序员和组织发布程序代码的平台之一,全世界各地的程序员讲自己写的代码上传到这里与大家分享。是GitHub率先实现了“编程社会化”这一步,在这里我们可以在这个平台上建立属于我们自己的库(付费则可以选择对别人不可见,免费仓库则是所有人可见),而且,我们可以多个人合作共同管理一个库,因为我们在之前的线下编码过程中,可能会面临进度、时间沟通不到位,而产生的一系列麻烦,以及错误的改正也可能会不及时(在大家的工作进行整合前),而GitHub则可以将大家的代码汇总起来,并在各位成员的电脑上建立分支,此时就可以在自己的电脑上对项目的代码进行编辑,当你认为这段代码已经足够完美的时候,你就可以将其上传仓库,但前提还是要通过审核(毕竟“我不要你觉得,我要我觉得”,可能还有一些自己没有发现的问题与错误),通过审核后,你就可以在自己的仓库中浏览自己的代码了!如果你的仓库是免费仓库,这时,全世界的程序员都可以看到你的代码了!
二、创建属于自己的库
首先需要进行简单的注册,注册成功后,进入这个界面,点击右上角的小加号,点击“new repository”创建仓库,并在该页面中完成对自己仓库的相关基本设置:
接下来你就会进入这样的一个页面,我在这里创建了一个名为"HowToUseGitHub"的库:
这样我们就完成了最基本的库的建立!
三、在自己的电脑上克隆账户上的库/上传文件
我们在账户上创建了属于自己的库,可是,我们的编译器什么的都在电脑上啊,coding,coding,code才是核心嘛,我们想要有可编辑的代码,就需要把账户中的库克隆(也就是下载)到自己的电脑上,就可以行编辑了!同时再将自己编辑好的代码进行上传,就可以在自己的库中看到自己已经编辑过的代码啦!
不过在此之前,我们需要安装一个软件,叫做Git Bash,本文不具体介绍如何安装和配置该软件,具体安装过程见该教程:https://blog.csdn.net/qq_41949802/article/details/81711385?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159055564419195264516662%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=159055564419195264516662&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-81711385.pc_insert_v6&utm_term=Git+Bash%E5%AE%89%E8%A3%85
我们直接进入Git Bash的使用,在这里将实现从Github上克隆你的仓库到本地,以及上传你本地的文件到仓库中。
下载并打开git bash后,我们会看到一个这样的窗口,首先显示的是你这台电脑的名称。你的输入内容将在符号"$"后进行输入(注意:在对其中的每行代码复制粘贴的时候不要把"$"也复制进去哦,否则会报错)
初次使用时我们需要设置自己的身份:我们在上传代码时,有必要表明自己的身份:是谁上传的这段代码,这样有利于项目成员见的沟通~,下面就开始设置吧~
首先,我们需要获取属于自己的密钥,在注册GitHub账号的时候,我们所使用的邮箱可以为我们提供一个属于我们自己的密钥。具体操作如下:
ssh-keygen -t rsa -C "注册时的邮箱"
在$后输入上述代码,一路回车即可,在对应存储路径中找到存储密钥的文件,用记事本打开(没错,正是一大段乱码,复制它!),然后回到GitHub,按照下图的步骤完成密钥设置。
之后我们再输入如下代码来验证是否成功绑定。
ssh -T git@github.com
如提示:You've successfully authenticated, but GitHub does not provide shell access ,则说明绑定成功,但还需要一些细节设置。
git config --global user.name "your name"
git config --global user.email "your email"
name是你的用户名,邮箱需是注册GitHub时的邮箱(此步相当于登录),接下来就可以克隆我们的库了。不过在此之前,请先定位自己想要用于存储项目的存储位置,比如我将位置设定在D盘:
再输入如下代码:完成对自己的库的克隆:
git clone git@github.com:xxxxxx
git clone后面的网址,需要进入到自己的库中进行查看:
之后就会出现以下字段:(如果是新建立的库,没有文件,则会提示克隆的是一个空的库)
现在你就可以在自己定位的位置找到你的库文件夹了。
然后再以同样的方式定位到我们本地的库文件夹中
在文件夹中创建自己需要创建的文件类型(可以是代码文件,也可以是word或者text等),具体上传过程代码如下图所示:
此时文件就已经成功上传了!让我们来怀着激动的心情打开我们的库!上传的文件就出现了!
另外,点击我们的头像,进入your profile,查看自己的概况,可以看到自己的账号活跃情况:我们可以看到今天我们有了活动,把鼠标悬停在上面,就可以看到具体做了什么。
根据目学生的学习阶段而言,我们目前所做更多的不是上传,更多的是寻找自己想要了解的代码,下载后进行学习。下面开始介绍如何从GitHub上克隆自己想要了解的项目的方法:
同样的,我们采用克隆我们自己的库的方法,来对别人上传的库进行克隆:
接下来我们再次打开GitBash,这次我们就不需要再登录了,只需要定位到把下载的文件存储的位置后,再用git clone的方法,下载文件即可。
四、团队合作项目的工作流程
在此之前,请前往https://www.gitkraken.com/下载GitKraken并安装(速度很快),下载后,选择和自己的Github进行绑定并授权(过程较为简单,在此不加赘述),然后再让我们回到Github,在那上面,我们将首先创造一个团队项目,并邀请朋友加入项目,同时设置项目的各项属性。
选择免费的organization后,进入如下界面:对你的团队进行基本信息的设置
点击Next,进入如下界面,点击邀请成员,邀请朋友加入组织。
点击创建新的团队,邀请组织中的成员加入。
同样需要对一些基本信息进行设置
将已经加入organization的朋友邀请到team中。
接下来,返回到organization中,点击repositories,创建团队项目仓库,并进行基本的属性设置,然后邀请自己的团队:
邀请了team后返回到所创建的团队项目中,通过如下方式创建分支,供小组成员克隆。
![](https://img2020.cnblogs.com/blog/1957096/202005/1957096-20200527173010165-1488540922.png)
按如下方法将团队项目仓库添加进来(此时我已添加)
接下来就要同步我们的分支了,右键点击刚刚我们设置的dev分支,选择check out origin/dev,即可进入如下界面
此时你就可以在该分支里对代码进行编辑啦!
由于没有实际邀请好友进行编辑,上面的进度条只体现我自己一个人的进度。
在你修改的期间,其他人可能也提交了一些内容,此时需要与他们同步:在 “REMOTE” 中的团队远程仓库上单击右键 -> Fetch xxx,然后在团队远程仓库的 dev 分支上单击右键 -> Merge xxx/dev to dev 。在这一时间点上所有人的修改记录都将体现。
将修改同步到团队项目中:点击最上方的 push 按钮将之前的一系列 commit 信息推到自己的远程仓库,然后在团队远程仓库的 dev 上右键 -> “Start a pull request to xxx/dev from origin/dev”,输入 pull request 信息(如果只有一条 commit,则会自动填充上 commit 信息),然后点击提交。此时可在右上角的弹窗单击 “View on github”,回到GitHub仓库中查看此次 pull request 。
这样我们就完成了GitHub团队工作的主要实现过程!!!
五、结语
编程是一个不断学习的过程,技术日新月异,只要不学习,就一定会被淘汰!而GitHub则是一个对于每位程序员而言再好不过的学习圣地,这里有丰富的代码,有各类教程,几乎与编程相关的任何东西,你都可以在这里找到!能够运用好GitHub,绝对可以让它在你的编程的学习之路上更好的前行!在GitHub上编织梦想,程就未来吧!
GitHub基础使用指南的更多相关文章
- HelloX项目github协同开发指南
概述 为了提高协同开发效率,HelloX项目已托管到github网站上.根据目前的开发进展,创建了下列几个子项目: HelloX操作系统内核项目:https://github.com/hellox-p ...
- JavaScript对象属性的基础教程指南
JavaScript是使用“对象化编程”的,或者叫“面向对象编程”的.所谓“对象化编程”,意思是把JavaScript能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编 ...
- Java基础重点指南
Java基础重点指南 每个人都有自己的学习方法,下面是我学完Java后总结的一些要点: 一:(了解)Java诞生于1995年,由Sun公司开发.它把源代码编译成“中间码”,然后通过“Java虚拟机”把 ...
- 【linux配置】Redhat6.5基础配置指南
Redhat6.5基础配置指南 本文针对鄙人在工作中常用系统配置加以说明,通常公司用于生产和测试的服务器基本上都不能连接外网,需要针对刚刚安装好的系统做一系列的常用配置. 一.常用基础系统配置 1.关 ...
- Github基础使用教程 ———功能介绍
Github基础使用手把手教程 --功能介绍 本人Github小白,刚摸索的差不多,记录一下经验,小白写出来的东西各位萌新一定看的懂啦~ 本篇内容主要针对想快速学会使用Github这个强大工具的 ...
- github pages简易指南
在我之前的博客用Octopress在Github pages上写博客(博客园上,github pages上)中介绍了怎么在Github Pages上写博客,今天发现了一个很不错的github page ...
- Hexo NexT 博客与Github page 关联指南
上篇文章 Hexo 博客框架NexT主题搭建指南 我们已经在本地搭建好了Hexo博客框架NexT 主题的博客程序,但是这感觉还是远远不够. 我们还想把它部署到我们的Github上,让其他人可以看到我们 ...
- ffuf 基础食用指南
PS: 1. 下文出现的某些字典 有可能是因为摆出效果 我自己瞎搞得字典 2. 分享一些好的工具 3. 其实Wfuzz也很好用的 4. 很早之前就在语雀写过Wfuzz和ffuf的笔记 但是一直没有公开 ...
- github新手使用指南
常用命令: Git 速查表(摘自 AI有道) 一.常见命令 git init : 初始化 git 仓库,即将一个文件夹初始化为一个 git 仓库.具体的操作是创建一个 .git 隐藏文件夹 git ...
随机推荐
- 第10.10节 Python使用__init__.py自动加载包下内容
在前面章节老猿介绍了包下模块及子包的加载的各种方式,并说明包的加载首先是自动加载包下的__init__.py文件.在<第10.6节 Python包的概念>中介绍了__init__.py文件 ...
- PyQt(Python+Qt)学习随笔:QAbstractItemView的SelectionBehavior属性
老猿Python博文目录 老猿Python博客地址 一.概述 SelectionBehavior属性用于控制选择行为操作的数据单位,是指选择时选中数据是按行.按列还是按项来选择.SelectionBe ...
- PyQt(Python+Qt)学习随笔:desktop的宽带、高度widthMM、heightMM
通过desktop获取桌面的高度和宽度,代码如下: desktop = app.desktop() srceenSize = desktop.width(),desktop.height() srce ...
- Scrum 冲刺 第一篇
Scrum 冲刺 第一篇 每个成员认领的任务 人员 任务 周立 后台登录注册模块 邓富荣 后台首页模块 钟俊豪 博客圈模块 黄清山 个人界面模块 郑焕 首页以及博客圈界面 黄梓浩 个人界面以及登录注册 ...
- Scrum 冲刺 第二篇
Scrum 冲刺 第二篇 每日会议照片 昨天已完成工作 队员 昨日完成任务 黄梓浩 初步完成app项目架构搭建 黄清山 完成部分个人界面模块数据库的接口 邓富荣 完成部分后台首页模块数据库的接口 钟俊 ...
- 转:什么是Shingling算法
shingling算法用于计算两个文档的相似度,例如,用于网页去重.维基百科对w-shingling的定义如下: In natural language processing a w-shinglin ...
- 谷歌SameSite策略
当我新下载谷歌80.x版本的时候,访问一个系统(内嵌跳转到其他系统的iframe),跳转过去没有携带cookie,以前版本的谷歌浏览器是可以的,控制台提示SameSite策略,给阻止了cookie携带 ...
- linux修改文件所属的用户组以及用户
linux修改文件所属的用户组以及用户 将文件夹从A用户(huangxf)目录复制B用户(zhenglf)目录,其中B没有sudo权限.将A的Downloads文件夹下的所有文件,复制到B的Docum ...
- word IF嵌套实现登记学生成绩(合格,良好,优秀)
word IF函数 IF语法 IF(判断条件,条件成立的动作,条件不成立的动作),以逗号(英文)分隔 例:=IF( 0 < 1 , "good" , "bad&qu ...
- 将命令行提示符里的执行结果导出到text文件中
为便于查看和保存命令行提示符里的执行结果, 可以使用 ">" 将执行结果导入到指定.txt文件中. 例如: 在命令行提示符里查看C盘文件,并将结果导入到E盘dir-c-out ...