【GNSS算法工程入门】1. Git入门

写在前面

笔者在GNSS算法开发岗位从业过一段时间,和大部分同学类似,在GNSS开发过程中,也是从工程化的小白逐渐成长起来。而在算法开发从业的过程中,发现有些基础的知识其实在学校学习过程中是相对缺失的。麻省理工有个课程叫计算机教育中缺失的一课,而在GNSS算法开发中,同样缺失类似的一个系列,来帮助算法开发的同学,了解开发必备的一些工具(Git、Cmake等)和环境(Linux等)使用。笔者结合了自身开发过程中的一些背景经验,同样参考了计算机教育中缺失的一课,构成了这个系列。有不足之处,欢迎交流指正。

该系列的面向对象同样是GNSS初学者,建议有一定的GNSS原理和C语言基础作为知识背景。

Git&Github简介

GitHub是世界上最大的代码托管平台,超7千万开发者正在使用,众多开发者在上面分享、开源、管理自己的代码。Github是管理软件开发的首选,Github可以托管git库,并且同时提供web界面。GNSS领域中,笔者经常参考的开源地址包括两个,一个是GPStoolbox,地址是https://www.ngs.noaa.gov/gps-toolbox/,里面有众多开源软件资源;另一个则是Github,大多数的开源软件同样会在github上做对应的开源。国内也有类似的代码托管平台比如gitee,但目前github仍然是最有影响力的代码托管平台。

Git则是一个开源的分布式版本控制系统软件,可以有效、高速地处理从很小到非常大的项目版本管理。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。现在的程序开发早已不是单打独斗的年代,高效进行多人、多版本、分布式开发,是非常有用且建议掌握的基本技能。

Git安装

首先,我们先进行git工具的下载,下载地址请参考https://git-scm.com/,笔者使用的电脑为win64环境,下载版本为64-bit Git for Windows Setup.

然后,进行git的安装。

选择完路径后,一路默认即可。

安装完后,打开gitbash的便捷方式为使用右键菜单,选择Git Bash Here。

接下来我们要做的是建立远程的github托管仓库,然后将本地github和远程仓库建立起关联。关联方式为首先生成SSH公钥,录入到远程的git服务器,然后使用git命令建立起对应关系。

生成SSH公钥的方式如下,首先先设置git账号与绑定的邮箱,示例如下。其中笔者的账号和邮箱用马赛克进行了擦除。

git config --global user.name "abcd"

git config --global user.email "abcd@163.com"

接着可以查看当前系统目录下是否有公钥私钥,如果有的话,会存储在.ssh目录下,可以用cd进行目录查看是否有内容存在。

接着可以生成对应的公钥和私钥,命令如下:

ssh-keygen -t rsa -C "abcd@163.com"

其中,-t的意思是指定密钥的type,密钥类型这里我们使用最常用的RSA,-C的意思是提供一个comment,用于识别这个密钥。后面跟着的邮箱名请替换成自己github的注册邮箱。

输入命令enter后,会出现三次确认,使用enter直接跳过即可。

接下来是找到生成的公钥,将其中的内容添加到github,找到如下目录下的id_rsa.pub文件,双击打开,并复制其中的所有内容。

登录github,点击右上角的小头像,选择settings,之后选择SSH and GPG keys,之后选择New SSH key新建SSH key。

之后将公钥内容(id_rsa.pub里的内容)复制到key栏,然后选择Add SSH key,即可完成新增。

建立GitHub项目

首先,先在GitHub上建立一个远程仓库,

我建立了一个RtklibProject的空项目作为示例,完成后如下所示

复制代码仓库地址,可以点击仓库右边的重叠方格按钮。

clone远程仓库,使用命令如下

git clone [SSH地址]

这样就将远程的项目clone到本地,本地和远程建立起对应关联,之后便可以修改本地仓库的内容,进行相应git操作。

使用git remote -v命令可以显示远程仓库

我们现在本地建立一个test文件,然后提交到本地。

git add . 该命令的作用是将本地所有变更添加到git

git commit -m "comment" 该命令的作用是将暂存内容以“comment”标签提交。

之后可以使用git push将本地变更推送到远程

Ref

  1. https://blog.csdn.net/qq_35427589/article/details/123277798?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167498990116782429741283%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167498990116782429741283&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-1-123277798-null-null.142^v71^pc_new_rank,201^v4^add_ask&utm_term=ssh-keygen%20-t%20rsa%20-C&spm=1018.2226.3001.4187

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值