2021-07-05

软件构造之关于git的使用

前言:
本人软件构造课需要在github中获取提供的一些程序框架,并且需要持续的上传代码和报告更新github的个人仓库,所以需要用到一些git的基本操作以及技巧,所以利用这个机会在这里分享一下git学习和使用的收获与心得体会。
创建版本库:
默认已经安装好git了,首先,选择一个合适的地方,创建一个空目录,示例代码如下:
$ mkdir ruanjiangouzao
$ cd ruanjiangouzao
$ pwd
其中ruanjiangouzao为你起的仓库的名字(当然具体要按照实验要求HIT-Lab?-学号),pwd的目的是显示当前目录。
然后通过git init命令把这个目录变成Git可以管理的仓库:
$ git init
添加远程仓库:
建立好本地仓库后就需要与实验给出的远程仓库建立联系,由于软件构造的实验都实现给学生梦创建好了仓库,所以我们不需要在Github中创建新的仓库了,需要登上自己Lab的仓库改一下仓库名字变成规定的形式,然后保存下来仓库的地址并把main分支修改成master分支就好了。
接下啦在本地仓库文件夹下运行
$ git remote add origin git@github.com:刚才保存的实验地址.git(没有http这些前缀的)
接下来就是往github仓库中上传相关的代码和文件啦。这里建议先克隆下来实验的仓库到本地仓库在进行后续上传。
从远程库克隆:
加粗样式在本地仓库文件夹里执行如下命令克隆下来远程库:
$ git clone git@github.com:刚才保存的实验地址.git(没有http这些前缀的)
向远程仓库中push:
$ git add .
$ git commit -m “随便起个名字”
$ git push origin master
第一行add是添加要上传的文件,. 是添加该文件夹中所有的文件;第二行是为了给这个版本的提交起一个名字;第三行是把选中的内容推送到master分支上去。
当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:
The authenticity of host ‘github.com (xx.xx.xx.xx)’ can’t be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。
Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:
Warning: Permanently added ‘github.com’ (RSA) to the list of known hosts.
这个警告只会出现一次,后面的操作就不会有任何警告了。
添加新的分支change:
Lab3中要求修改原来的设计以应对一些变化,在确保之前的开发已经commit到Git仓库,然后创建新分支“change”,在该分支上完成一些功能的变化。
$ git checkout -b change
$ git add *
$ git commit -m “change”
$ git checkout master
第一行创建change新分支;第三行在该分支上提交软件构造的Lab新代码;第四行切换回master分支。
Tips:

  1. 正常方法连接github极不稳定,请切记不要赶在ddl前几分钟拼命提交。
  2. 即使显示如"everything is update"这种反馈也不要轻信,尽量自己打开仓库看一眼。
  3. 仓库名字一定要按照要求起,一定记得把main改成master,不然真的会不被读取到。
  4. ddl一定要遵守。
    参考资料:
  5. 廖雪峰git教程
  6. lab-3 reusability and maintainability oriented programming v3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值