本文介绍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 RabbitMQ 实战

    RabbitMQ RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件).RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台 ...

  2. 【QtJson】用Qt自带的QJson,直接一步到位封装和解析一个类的实例对象!

    之前貌似没有看过类似的代码 我们现在的要求就是直接在不知道类成员的情况下,把一个类丢进去就能生成一个Json字符串,也可以把一个字符串和一个类成员丢进去就能根据成员变量名匹配到元素并赋值,大概就这样 ...

  3. Jstack 查看线程状态及定位占用 cpu 较高的 java 线程

    本文为博主原创,未经允许不得转载: 1. Jstack 用来查看 java 指定进程所包含的 java 线程状态:    "arthas-NettyHttpTelnetBootstrap-3 ...

  4. Keep English Level-01

    state -- 声称,宣称,国家,政府 state-owned -- 国有的 He stated that "hell will break loose,politically and m ...

  5. [转帖]Linux基础之chkconfig systemd

    https://www.cnblogs.com/barneywill/p/10461279.html   CentOS6服务用chkconfig控制,CentOS7改为systemd控制 1 syst ...

  6. Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法

    Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法 背景说明 昨天的处置已经可以让外部可以使用唯一的电信IP地址访问内部交换机的服务器了. 但是今天的场景是想让内网交换机的 ...

  7. 【转帖】isolcpus功能与使用

    isolcpus功能存在已久,笔者追溯v2.6.11(2005年)那时内核就已经存在了isolcpus功能.根据kernel-parameters.txt 上的解释,"isolcpus功能用 ...

  8. [转帖]Redis 核心篇:唯快不破的秘密

    文章系转载,方便整理和归纳,源文地址:https://z.itpub.net/article/detail/4B5A03BDDBE9A2BC3E080E278FE4D21E 以下文章来源于码哥字节 , ...

  9. [转帖]iptables 执行清除命令 iptables -F 要非常小心的

    使用 /sbin/iptables -F 要小心,搞不好,你就马上同服务器断开连接了 以下是来自 http://wiki.ubuntu.org.cn/IptablesHowTo 上的说明 可以通过/s ...

  10. [转帖]陈巍谈芯:NLP里比BERT更优秀的XLNet长什么样?

    https://zhuanlan.zhihu.com/p/447836322 ​ 目录 收起 一.XLNet的优势 1)独得AR与AE两大绝学 2)集成了Tansformer-XL 二.XLNet的结 ...