初步上手Git软件及GitHub平台:基本操作方法
本文介绍Git软件与GitHub平台的基本内容、使用方法与应用场景等。
1 初步介绍
首先,什么是GitHub与Git?为什么我们要运用这些工具?
首先从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
中已经有了README
与License
文件。
随后,在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即可。
随后,就可以发现,前述操作中生成的README与License文件都已经在本地文件夹中了。
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中。
至此,即完成了GitHub与Git的简单操作。
上述内容和互联网其他关于GitHub或Git的操作教程相比,确实十分粗略——由于我不是专业的程序员,因此上述未涉及Git的高级操作(例如版本回溯)等,大家可以参照其他更深入的教程加以进一步学习。