引言:

  只要进行了一段时间的软件或者编程相关知识的学习,相信大家或多或少都会见过这只“猫猫”,这可不是什么宠物店铺的商标,身为即将成为程序猿/媛的你,或者已经是一位程序猿/媛的你,即使没有使用过,也会从别人的口中听说过它,它就是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账号的时候,我们所使用的邮箱可以为我们提供一个属于我们自己的密钥。具体操作如下:

  

  1. ssh-keygen -t rsa -C "注册时的邮箱"

  在$后输入上述代码,一路回车即可,在对应存储路径中找到存储密钥的文件,用记事本打开(没错,正是一大段乱码,复制它!),然后回到GitHub,按照下图的步骤完成密钥设置。

  之后我们再输入如下代码来验证是否成功绑定。

  1. ssh -T git@github.com

  如提示:You've successfully authenticated, but GitHub does not provide shell access ,则说明绑定成功,但还需要一些细节设置。

  1. git config --global user.name "your name"
  2. git config --global user.email "your email"

  name是你的用户名,邮箱需是注册GitHub时的邮箱(此步相当于登录),接下来就可以克隆我们的库了。不过在此之前,请先定位自己想要用于存储项目的存储位置,比如我将位置设定在D盘:

  再输入如下代码:完成对自己的库的克隆:

  1. 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. PyQt(Python+Qt)学习随笔:树型部件的QTreeWidgetItem项中列不同角色数据的有关访问方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项中可以有多列数据,每列数据可以根据 ...

  2. 【软件测试部署基础】gradle的认识

    1. gradle简介 Java世界中主要有三大构建工具:Ant.Maven和Gradle.经过几年的发展,Ant几乎销声匿迹.Maven也日薄西山,而Gradle的发展则如日中天. 1.1. ANT ...

  3. DokcerFile的添加及如何生成一个自定义镜像mycentos(四)

    最近在学习Docker,用commit去生成一个镜像,但是生成后的镜像非常臃肿,所以去学习了一下DockerFile. 前提条件: 已在虚拟机中成功安装Docker 简单的理解可以如下图所示: Doc ...

  4. Java 中的语法糖,真甜。

    我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan/bestJavaer 我们在日常开发中经常会使用到诸如泛型.自动拆箱和装箱 ...

  5. 如何实现 token 加密(来自github每日一题)

    需要一个secret(随机数) 后端利用secret和加密算法(如:HMAC-SHA256)对payload(如账号密码)生成一个字符串(token),返回前端 前端每次request在header中 ...

  6. 【补题记录】NOIp-提高/CSP-S 刷题记录

    Intro 众所周知原题没写过是很吃亏的,突然发现自己许多联赛题未补,故开此坑. 在基本补完前会持续更新,希望在 NOIp2020 前填完. 虽然是"联赛题",但不少题目还是富有思 ...

  7. 《深入理解计算机系统》实验三 —— Buf Lab

    这是CSAPP的第三个实验,主要让我们熟悉GDB的使用,理解程序栈帧的结构和缓冲区溢出的原理. 实验目的   本实验的目的在于加深对IA-32函数调用规则和栈结构的具体理解.实验的主要内容是对一个可执 ...

  8. Pytest 学习(二十七)- Jenkins+Allure+Pytest的持续集成

    一.配置 allure 环境变量 1.下载 allure是一个命令行工具,可以去 github 下载最新版:https://github.com/allure-framework/allure2/re ...

  9. PHP代码审计学习-PHP-Audit-Labs-day1

    0x01 前言 偶然间看到红日团队的PHP代码审计教程,想起之前立的flag,随决定赶紧搞起来.要不以后怎么跟00后竞争呢.虽然现在PHP代码审计不吃香,但是php代码好歹能看懂,CTF中也经常遇到, ...

  10. 如何自定义Kubernetes资源

    目前最流行的微服务架构非Springboot+Kubernetes+Istio莫属, 然而随着越来越多的微服务被拆分出来, 不但Deploy过程boilerplate的配置越来越多, 且繁琐易错, 维 ...