引言:

  只要进行了一段时间的软件或者编程相关知识的学习,相信大家或多或少都会见过这只“猫猫”,这可不是什么宠物店铺的商标,身为即将成为程序猿/媛的你,或者已经是一位程序猿/媛的你,即使没有使用过,也会从别人的口中听说过它,它就是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后返回到所创建的团队项目中,通过如下方式创建分支,供小组成员克隆。

  

  

  点击菜单栏 “File” -> “Clone Repo”, 选择本地路径、输入自己的远程仓库 URL ,clone 完成后点击 “Open Now” 。此时左侧的 “REMOTE” 下方的 “origin” 会显示你的远程仓库信息。

  按如下方法将团队项目仓库添加进来(此时我已添加)

  接下来就要同步我们的分支了,右键点击刚刚我们设置的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基础使用指南的更多相关文章

  1. HelloX项目github协同开发指南

    概述 为了提高协同开发效率,HelloX项目已托管到github网站上.根据目前的开发进展,创建了下列几个子项目: HelloX操作系统内核项目:https://github.com/hellox-p ...

  2. JavaScript对象属性的基础教程指南

    JavaScript是使用“对象化编程”的,或者叫“面向对象编程”的.所谓“对象化编程”,意思是把JavaScript能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编 ...

  3. Java基础重点指南

    Java基础重点指南 每个人都有自己的学习方法,下面是我学完Java后总结的一些要点: 一:(了解)Java诞生于1995年,由Sun公司开发.它把源代码编译成“中间码”,然后通过“Java虚拟机”把 ...

  4. 【linux配置】Redhat6.5基础配置指南

    Redhat6.5基础配置指南 本文针对鄙人在工作中常用系统配置加以说明,通常公司用于生产和测试的服务器基本上都不能连接外网,需要针对刚刚安装好的系统做一系列的常用配置. 一.常用基础系统配置 1.关 ...

  5. Github基础使用教程 ———功能介绍

    Github基础使用手把手教程    --功能介绍 本人Github小白,刚摸索的差不多,记录一下经验,小白写出来的东西各位萌新一定看的懂啦~ 本篇内容主要针对想快速学会使用Github这个强大工具的 ...

  6. github pages简易指南

    在我之前的博客用Octopress在Github pages上写博客(博客园上,github pages上)中介绍了怎么在Github Pages上写博客,今天发现了一个很不错的github page ...

  7. Hexo NexT 博客与Github page 关联指南

    上篇文章 Hexo 博客框架NexT主题搭建指南 我们已经在本地搭建好了Hexo博客框架NexT 主题的博客程序,但是这感觉还是远远不够. 我们还想把它部署到我们的Github上,让其他人可以看到我们 ...

  8. ffuf 基础食用指南

    PS: 1. 下文出现的某些字典 有可能是因为摆出效果 我自己瞎搞得字典 2. 分享一些好的工具 3. 其实Wfuzz也很好用的 4. 很早之前就在语雀写过Wfuzz和ffuf的笔记 但是一直没有公开 ...

  9. github新手使用指南

    常用命令:   Git 速查表(摘自 AI有道) 一.常见命令 git init : 初始化 git 仓库,即将一个文件夹初始化为一个 git 仓库.具体的操作是创建一个 .git 隐藏文件夹 git ...

随机推荐

  1. 第10.10节 Python使用__init__.py自动加载包下内容

    在前面章节老猿介绍了包下模块及子包的加载的各种方式,并说明包的加载首先是自动加载包下的__init__.py文件.在<第10.6节 Python包的概念>中介绍了__init__.py文件 ...

  2. PyQt(Python+Qt)学习随笔:QAbstractItemView的SelectionBehavior属性

    老猿Python博文目录 老猿Python博客地址 一.概述 SelectionBehavior属性用于控制选择行为操作的数据单位,是指选择时选中数据是按行.按列还是按项来选择.SelectionBe ...

  3. PyQt(Python+Qt)学习随笔:desktop的宽带、高度widthMM、heightMM

    通过desktop获取桌面的高度和宽度,代码如下: desktop = app.desktop() srceenSize = desktop.width(),desktop.height() srce ...

  4. Scrum 冲刺 第一篇

    Scrum 冲刺 第一篇 每个成员认领的任务 人员 任务 周立 后台登录注册模块 邓富荣 后台首页模块 钟俊豪 博客圈模块 黄清山 个人界面模块 郑焕 首页以及博客圈界面 黄梓浩 个人界面以及登录注册 ...

  5. Scrum 冲刺 第二篇

    Scrum 冲刺 第二篇 每日会议照片 昨天已完成工作 队员 昨日完成任务 黄梓浩 初步完成app项目架构搭建 黄清山 完成部分个人界面模块数据库的接口 邓富荣 完成部分后台首页模块数据库的接口 钟俊 ...

  6. 转:什么是Shingling算法

    shingling算法用于计算两个文档的相似度,例如,用于网页去重.维基百科对w-shingling的定义如下: In natural language processing a w-shinglin ...

  7. 谷歌SameSite策略

    当我新下载谷歌80.x版本的时候,访问一个系统(内嵌跳转到其他系统的iframe),跳转过去没有携带cookie,以前版本的谷歌浏览器是可以的,控制台提示SameSite策略,给阻止了cookie携带 ...

  8. linux修改文件所属的用户组以及用户

    linux修改文件所属的用户组以及用户 将文件夹从A用户(huangxf)目录复制B用户(zhenglf)目录,其中B没有sudo权限.将A的Downloads文件夹下的所有文件,复制到B的Docum ...

  9. word IF嵌套实现登记学生成绩(合格,良好,优秀)

    word IF函数 IF语法 IF(判断条件,条件成立的动作,条件不成立的动作),以逗号(英文)分隔 例:=IF( 0 < 1 , "good" , "bad&qu ...

  10. 将命令行提示符里的执行结果导出到text文件中

    为便于查看和保存命令行提示符里的执行结果, 可以使用 ">" 将执行结果导入到指定.txt文件中. 例如: 在命令行提示符里查看C盘文件,并将结果导入到E盘dir-c-out ...