本文介绍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. springboot项目全局异常处理@ControllerAdvice(方式二)

    SpringMVC 中 @ControllerAdvice 注解的三种使用场景!   @ControllerAdvice ,很多初学者可能都没有听说过这个注解,实际上,这是一个非常有用的注解,顾名思义 ...

  2. C# 加解密

    1.  Md5 /// <summary> /// 不可逆加密 /// 1 防止被篡改 /// 2 防止明文存储 /// 3 防止抵赖,数字签名 /// </summary> ...

  3. 每天学五分钟 Liunx 100 | 存储篇:磁盘分区

    这一节主要介绍 Liunx 是怎么用磁盘的. 磁盘分区 在 Liunx 中一切皆文件,磁盘在 Liunx 中也是文件,包括 /dev/hd[a-d](以 IDE 为接口) 和 /dev/sd[a-p] ...

  4. FGC频繁导致CPU 飙升定位及JVM配置优化总结

    本文为博主原创,未经允许不得转载: 目录: 1. 定位消耗cpu 的服务进程和线程 2. 定位FGC 的原因 3. 定位jvm 参数是否导致FGC 4. 调试最优解的 jvm 配置 描述:项目中存在一 ...

  5. wireshark 显示过滤表达式

    转载请注明出处: 1.根据协议过滤: 在显示过滤表达式的输入框中直接输入对应的协议类型即可:http   tcp  udp 2.根据 IP 过滤: 根据源IP地址过滤:如源地址IP为:127.0.0. ...

  6. 【SHELL】跨行内容查找、替换、删除

    跨行内容查找.替换.删除 sed '/START-TAG/{:a;N;/END-TAG/!ba};/ID: 222/d' data.txt /START-TAG/ { # Match 'START-T ...

  7. Jquery - 获取所有子节点 ( 并删除 )

    1,获取所有子节点   $(".parent").find('.child') 2,获取所有子节点,通过上层 div 的类名 , 获取上层 div 节点 $(".pare ...

  8. Android——SQLiteOpenHelper

    使用步骤: 新建一个继承自SQLiteOpenHelper的数据库操作类,提示重写onCreate和OnUpgraed两个方法.其中,onCreate方法只在第一次打开数据库时执行,在此可进行表结构创 ...

  9. (保姆级)服务器-Zabbix6.0使用Python脚本实现带图片的邮箱的报警

    前言 近期在琢磨Zabbix邮箱报警的功能,但是网上的教程通常是4.0或5.0版本Zabbix,并使用Python2.7环境,运行在新版本Zabbix6.0上有颇多问题,为此我基于原先教程修改基于Za ...

  10. Hexo中引入另一个文件内容

    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 安装插件 npm install hexo-include-m ...