引言:

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

    Python的模块就是一个独立的Python文件,Python的包是一些功能相关的Python文件放到一个目录下进行统一管理的文件管理结构,包本质上是模块,加载包就是加载包下特定的模块文件__init ...

  2. Android使用阿里镜像

    在学习room时项目一直在编译中,最后排查发现是依赖没有下载完导致.随后查询将依赖下载源改为阿里源,即可正常使用. 需要修改 build.gradle (project),改为以下内容: // Top ...

  3. JAVA课堂随机出题

    一.设计思路 1.利用随机数来确定两个数字. 2.生成0-4的随机数,分别代表 加 减 乘 除. 3.输入的题数利用for循环来出题,每行输出几道题便在循环中加入if语句,当前出题数与每行输出题数求余 ...

  4. bugkuctf web区 多次

    首先看到以下url : 发现这是一个基于布尔类型的盲注. true: false: 根据这两种类型可以进行注入.废话不多说,直接进行尝试. 构造 url = index.php?id=1' or 1= ...

  5. Python-Wechaty: 面向所有IM软件的聊天机器人框架

    Author: wj-Mcat Code: python-wechaty 个人开发项目,且行且不易,有感兴趣的朋友可以去给一波关注,你们的支持就是我最大的动力,谢谢大家. Python-wechaty ...

  6. Scrum 冲刺第三天

    一.每日站立式会议 1.会议内容 1)进行每日工作汇报 张博愉: 昨天已完成的工作:博客编写.spring boot学习 今日工作计划:将项目代码更新到最新版本 工作中遇到的困难:各成员的环境不一样, ...

  7. 落谷 P1410 子序列

    题目链接. Discription 给定长度为 \(n\) 的序列 \(A\)(\(n\) 为偶数),判断是否能将其划分为两个长度为 \(\dfrac{N}{2}\) 的严格递增子序列. Soluti ...

  8. AcWing 309. 装饰围栏

    题目链接 这道题与下一章的数位\(dp\)解题思路十分一致. 把寻找答案变成按位(并且是字典序从小到大)枚举当前这一位可以填的情况. 通过\(dp\)预处理的信息告诉我们可行性,就可以把答案紧逼到一个 ...

  9. JavaSE14-集合·其一

    1.Collection集合 1.1 集合体系结构 集合 (接口)Collection:单列 (接口)List:可重复 (实现类)ArrayList (实现类)LinkedList (接口)Set:不 ...

  10. Bug java 安全证书

    在一个改修项目里,安全性方面总是出一个bug,错误信息如下: xception in thread "main" javax.crypto.BadPaddingException: ...