引言:

  只要进行了一段时间的软件或者编程相关知识的学习,相信大家或多或少都会见过这只“猫猫”,这可不是什么宠物店铺的商标,身为即将成为程序猿/媛的你,或者已经是一位程序猿/媛的你,即使没有使用过,也会从别人的口中听说过它,它就是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. 超详细讲解mysql存储过程中的in/out/inout

    存储过程 大概定义:用一个别名来描述多个sql语句的执行过程. 最简单 delimiter // create PROCEDURE p1() begin select * from userinfo; ...

  2. java中的反射(二)

    java中的反射(一):https://www.cnblogs.com/KeleLLXin/p/14060555.html 目录 一.反射 1.class类 2.访问字段 3.调用方法 4.调用构造方 ...

  3. javascript:void(0)用法和常见问题

    javascript:void(0)的用法 下面的代码创建了一个超级链接,当用户以后不会发生任何事.当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果. <a H ...

  4. CF1147F Zigzag Game & 稳定婚姻问题学习笔记

    CF1147F Zigzag Game 这题太神仙了,不得不记录一下. 我网络流做不动了,DS做不动了,DP做不动了,特别自闭.于是博弈论之神(就是随手切3500博弈的那种) \(\color{bla ...

  5. "利用python进行数据分析"学习记录01

    "利用python进行数据分析"学习记录 --day01 08/02 与书相关的资料在 http://github.com/wesm/pydata-book pandas 的2名字 ...

  6. shell--检查apache是否启动脚本

    #首先我们需要检查apache是否以启动,这里我们用到的说nmap命令,Linux默认情况下是没有安装nmap命令的. #那么我们需要安装下nmap,安装的命令很简单:yum -y install n ...

  7. 博流BL602&BL604开发板介绍

    在2020松山湖论坛上,博流智能科技(南京)有限公司销售副总裁刘占领介绍了基于RISC-V核的低功耗.高可靠Wi-Fi+BLE二合一SoC芯片BL602.主要应用领域包括人工智能与工业互联网,特别是电 ...

  8. JAVA中关于set()和get()方法的理解以及使用

    set()和get()方法的理解 set和get这两个词的表面意思,set是设置的意思,而get是获取的意思,顾名思义,这两个方法是对数据进行设置和获取用的. 而且,在类中使用set和get方法时,都 ...

  9. 2020传智博黑马python课

      网上花钱买来的资源,免费分享给冷冷的兄弟们! 已经把相关网站广告后缀名全部替换修改,现在文件已经全部没有广告了, 不过就是课件的压缩包需要密码,已经在该文件夹说明,大家放心使用, 文件清爽,文件名 ...

  10. sqli-labs less1-4(union注入)

    less-1 考点:Single quotes 输入: 判断类型 ?id=1 返回loginname和password.输入的id就是与后台数据库连接的接口通过id=? 查询数据库信息 ?id=1' ...