本文介绍Git软件与GitHub平台的基本内容、使用方法与应用场景等。

1 初步介绍

  首先,什么是GitHubGit?为什么我们要运用这些工具?

  首先从GitHub说起。如果大家参加过数学建模比赛,或许都经历过这样的历程:一个队伍若干人负责一篇文档的不同部分,而后最终交给一位同学汇总。这时候,由于不断地修改、完善内容,每个人的电脑中或许都出现了无数个名字类似于“第一部分1”“第一部分2”“第一部分3”“修改1”“修改2”等等这样的Word文档,这繁多的Word文件无疑给最终的版本合并过程带来了很多烦恼。而数学建模中的Word与我们毕业设计中的代码文件类似,也是需要不断更新。

  同时,上面所说的数学建模,往往只有3-4天的时间,因此Word文档再多也不会过于繁琐;而毕业设计不一样,从去年开始,再到现在,再到最终上交论文的4、5月份,这个时间跨度非常大,如果我们还采用上述这种“文件名称后加编号”的笨方法,可能最终的文件编号都要到三位数了;好滴,那我们不加编号了,直接在原有文件的基础上修改,又有新的问题出现了——如果我们在今天直接修改了前天所写的代码,并且保存文件退出了,可是随后发现今天的修改是有问题的,还是前天的那个版本比较正确,但是已经无法撤回,也不好再凭借记忆手动把修改的内容一一准确地重新调整为前天修改前的版本。因此,是不是很烦恼?

  那么,GitHub就可以解决这样的烦恼。GitHub很专业的介绍网上也有,大家百度就可以;况且我也不专业,所以就通俗的说:GitHub是一个可以管理同一个文件的不同版本的仓库。或许这么说不太清楚,看了下面一张表,相信大家就了解了:

  是的,你没有看错,每一个文件都与其对应的用户、时间与版本修改内容等一一对应,并且每一份文件都可以下载,从而轻松回溯版本。说白了,GitHub就是为了实现上述这一工作。而GitHub实现上述这一工作是基于线上平台的,换句话说其是一个实现这一目的的网站,而Git则是与GitHub相呼应的电脑软件;二者结合,从而实现利用Git软件将电脑中的代码文件上传至GitHub网页中。

  值得一提的是,Git并非是实现这一功能的唯一电脑软件,但其得到了广大程序员朋友的好评与大量运用。而国内也有类似GitHub的网站,例如码云Gitee等,与GitHub相比,速度和稳定性或许会更好,同时相信大家都是龙的传人、支持本土企业,因此大家都可以多多尝试。

2 使用方法

  一般的,GitHub的使用有两种方法,一是首先在GitHub网页中建立自己的文件,随后同步到本地电脑;二是首先在本地电脑中完成代码文件,随后同步到GitHub网页中。在这里我个人认为第一种方法比较方便,因此以第一种为例。

2.1 GitHub配置

  首先,我们登录GitHub官网:https://github.com/ 。注册账号后,点击屏幕左侧的“New”按钮,从而新建Repositories。这个Repositories就是大家代码等文件的存放之处。随后,为自己的Repositories取个名字、加一个简介,其他选项依照下图即可。

  完成后,大家就会看到在新建的Repositories中已经有了READMELicense文件。

  随后,在Repositories界面左上角的Code界面,依据下图依次选择,并复制对应的SSH备用。

2.2 Git配置

  首先,我们需要下载Git软件,随后安装即可;关于安装的具体方法,我们将在后续的博客中介绍。

  随后,我们选择一个合适的文件夹,在这里右键,选择“Git Bash Here”打开Git,输入代码:

git clone git@github.com:Chutj/Crop_Yield_Prediction_with_Machine_Learning.git

  在这里,clone后的代码需要替换成大家自己上面复制的SSH即可。

  随后,就可以发现,前述操作中生成的READMELicense文件都已经在本地文件夹中了。

2.3 代码上传至GitHub

  接下来,我们便可以进行代码版本管理与上传。在本地文件夹中写好代码,随后在这一文件夹中右击鼠标打开Git Bash

  以我的CropYield_DL_Old.py文件为例,输入代码:

git add CropYield_DL_Old.py

  随后输入:

git commit -m"Modify This File"

  其中,引号中的内容为文件修改备注,方便大家了解每一次文件修改的详细情况,具体内容可以自行修改。

  可以看到,文件修改的具体信息已经被列在代码下方。

  最后,输入代码:

git push

  即将我们刚刚修改的CropYield_DL_Old.py文件上传至GitHub中。

  至此,即完成了GitHubGit的简单操作。

  上述内容和互联网其他关于GitHubGit的操作教程相比,确实十分粗略——由于我不是专业的程序员,因此上述未涉及Git的高级操作(例如版本回溯)等,大家可以参照其他更深入的教程加以进一步学习。

初步上手Git软件及GitHub平台:基本操作方法的更多相关文章

  1. 版本控制简介,git使用----使用GitHub托管代码

    关于版本控制: 很久以前,人们苦于对写过的代码进行版本的管理,经常过了一段时间想恢复原来写过的代码却又忘了不知道丢到哪儿去了,有的人用加上时间后缀来命名文件的方法,便于后期维护,但是这样做的麻烦也很大 ...

  2. Git 系列(二):初步了解 Git

    在这个系列的介绍篇中,我们学习到了谁应该使用 Git,以及 Git 是用来做什么的.今天,我们将学习如何克隆公共 Git 仓库,以及如何提取出独立的文件而不用克隆整个仓库. 由于 Git 如此流行,因 ...

  3. Mac(OS X)中Git安装与GitHub基本使用

    GitHub是一个面向开源及私有软件项目的托管平台.开源代码库以及版本控制系统,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.通常在Windows下使用GitHub的教程是非常 ...

  4. Sublime Text 中使用Git插件连接GitHub

    sublime Text的另一个强大之处在于它提供了非常丰富的插件,可以帮助程序员来适合大多数语言的开发.这些插件通过它自己的Package Controll(包管理)组件来安装,非常方便.一般常用的 ...

  5. git 本地代码到github

    一·什么是gitHub? 官网解释:gitHub是一个让无论处于何地的代码工作者能工作于同一个项目,同一个版本的平台.(GitHub is a code hosting platform for ve ...

  6. Git工具和GitHub的使用

    一.Git工具的安装 1)centos系统下安装 1.1)查看环境 [root@gitlab ~]# rpm -qa centos-release centos-release--4.1708.el7 ...

  7. 学习 Git 玩转 GitHub

    原文地址:学习 Git 玩转 GitHub 博客地址:http://www.extlight.com 一.基本了解 1.1 什么是版本控制系统 版本控制系统是一种记录一个或若干个文件内容变化,以便将来 ...

  8. ubuntu上建立本地git 和 网络 github的上传与下载

    github工具是一个很好用的工具,可以在本地建立一个git仓库,存储当前写的程序或者数据,然后通过ssh与github建立联系.具体怎么实现,下面进行介绍. 1.首先要安装git 软件 在Linux ...

  9. git 本地代码到github(转)

    git 本地代码到github   一·什么是gitHub? 官网解释:gitHub是一个让无论处于何地的代码工作者能工作于同一个项目,同一个版本的平台.(GitHub is a code hosti ...

  10. Git 之 与Github交互

    我们不可能只在一台电脑上开发,白天在公司用公司电脑,晚上在家可以用自己电脑.但是这个代码怎么让两台电脑同步呢?总不能用U盘复制粘贴.太繁琐. 这里我们就可以找个代码托管的平台,帮我们做这件事. Git ...

随机推荐

  1. 数字孪生智慧物流之 Web GIS 地图应用

    前言 随着数字经济时代的来临,新一轮全球化进程速度加快,在大数据.人工智能.物联网等高新技术深度融合下,加快催化智慧物流发展,引领物流行业划入全新时代. 从物流运输到货物分拣再到站点配送,图扑软件数据 ...

  2. winform 各种小功能

    1.  实现待查询功能的combox private void Frm_Main_Load(object sender, EventArgs e) { cbox_Find.Items.Clear(); ...

  3. 如何将接口的返回值中所需信息提取出来作为其他接口的入参使用(postman与jmeter的使用)

    一.背景: 偶尔会用到一个场景,两个接口之前的调用有依赖关系,将其中一个的返回参数中的部分信息取出来作为入参在第二个接口中使用,代码内是比较好实现,只要定义一个变量,用于参数传递. 如果是测试过程中使 ...

  4. java进阶(37)--多线程

    文档目录: 一.进程与线程 二.多线程的实现 三.获取线程名与线程对象 四.线程sleep方法 五.线程调度与优先级 六.线程安全(重点) 七.死锁 ------------------------- ...

  5. longjmp 使 C++ RAII 失效

    C 语言的 longjmp 没有进行栈展开,而是直接跳转.从 longjmp 到 setjmp 之间的所有析构函数都没有调用,也就是 RAII 失效. #include <setjmp.h> ...

  6. 安卓系统如何使用谷歌框架下的app?

    1.问题 安卓系统从理论上无法使用谷歌框架下的应用(比如像GMail,YouTube,Google play等等),会导致一些麻烦(闪退,卡在登陆界面等等) 注意:使用前提是会魔法,否则请绕道 2.解 ...

  7. [转帖]小米Redis的K8s容器化部署实践

    https://juejin.cn/post/6844904196924276743     背景 Why K8S How K8s Why Proxy Proxy带来的问题 K8s带来的好处 遇到的问 ...

  8. [转帖]TLS 1.2 浏览器兼容性

    https://support-splashtopbusiness.splashtop.com/hc/zh-cn/articles/4414002633883-TLS-1-2-%E6%B5%8F%E8 ...

  9. [转帖]docker(一):docker pull指定运行平台架构

    https://zhuanlan.zhihu.com/p/539888862 1.概述 大家好,我是欧阳方超.某日要在服务器上部署docker服务,其中要用到nginx,nginx经过pull.sav ...

  10. [转帖]Ipmitool跟OS下的ipmi模块之间的关系

    https://www.jianshu.com/p/71614d3288e8 OS下默认加载了ipmi的相关模块 注:此时OS下可以正常使用ipmitool命令访问本机的ipmi 设备. [root@ ...