版本控制神器GitHub的基本使用与踩坑,教你一铲子填平!

首先需要申请GitHub帐号,这个就不多说了,大家自行百度或Google吧哈。这里默认大家都已经有GitHub账号了~

PS:(如果已经配置好的小伙伴可以跳过配置GitHub这部分)


** 配置GitHub**

踩坑时刻 - 配置

第一次使用,如果没有配置好,会遇到各种问题,比如下面的这些:

问题一:

问题二:

问题三:

遇到问题会很影响心态,我是有过这样的感受~
明明别人弄就可以或者视频里也是这样教学的,我一个一个对了,眼都对花了都不行,这时候很可能是别人经常用,很多配置早就配好了,自然就没有第一次使用遇到的各种问题了;

填坑时刻 - 配置git

首先我们使用 ssh -T git@github.com命令:

$ ssh -T git@github.comgit@github.com: Permission denied (publickey).

这说明我们还没有将SSH
Key配置到GitHub中,因为GitHub需要你的公钥来识别你的身份,确认你确实是你(好比去派出所或银行办事,需要本人的要出具证明来证明你确实是你~~),所以我们要生成公钥来给GitHub,才能完成我们的提交推送等操作;

使用$ ssh-keygen -t rsa -C "your_email@youremail.com"来生成本地公钥;

中途的操作不管它,直接怼哈!!!,问y/n就y,问其他的就直接回车,如下:

错了哈哈~,如下:

结束后我们cd ~/.ssh目录下可以看到id_rsaid_rsa.pub两个文件

打开id_rsa.pub我们可以看到一堆乱七八糟的字符串,没错!这就是我们要的身份证明(SSH key):

现在我们就要拿着身份证(SSH key)去银行(GitHub)登记办业务了:

settings -> SSH and GPG keys -> New SSH key

这个时候我们再使用ssh -T git@github.com命令:

我们可以看到这个时候就已经和GitHub打通连接上了

接着我们还要设置下username和email,这样每次commit的时候都会记录当前用户,保证在局域网中工作的git可以很好的区分出不同的用户

$ git config --global user.name "your username"$ git config --global user.email "xxx@youremail.com"

配置好以后我们可以使用git config -l命令来查看我们git的配置信息

$ git config -l

到这里,git和GitHub初次建立连接的配置就已经完成了,后面就可以开始创建我们的项目喽~


** 创建项目实操**

创建项目步骤

1. 选择New repository

2.填入要创建的仓库名、描述之后点击Create repository即可!

创建完成之后你会看到这样的界面:

3.这里让你在本地创建仓库和项目后提交到GitHub仓库中去

命令解释:

补充小技巧:在提交文件的时候我们如果有多个文件修改,可以使用git commit -a -m "修改描述"命令将当前修改全部加到add中一起commit;

这时候刷新GitHub的页面可以看到本地仓库的文件已经成功被提交到了GitHub上:

注意:

在第一次使用git进行push或者clone的时候,会出现警告选择提示:

提示我们当前GitHub的鉴权没有被建立,是否继续连接,选择“yes”得到以下提示信息:

这里告诉我们已经将GitHub的RSA key添加到信任列表中了,下次不会出现此提示啦。

另外还有一个 注意 点,如下图所示,有HTTPS和SSH两种方式,

一般我们再提交文件的时候使用SSH,在clone文件的时候使用HTTPS,如果使用HTTPS提交的话会提示使用相关的用户名和密码进行验证。

好了,到这里Git和GitHub的配置关联,创建项目以及填坑就基本完成了,后面有什么样的精彩?那只能敬请期待啦~

作 者

AUTHOR

月关,霍格沃兹测试学院优秀学员。一个在质量保障领域攀登探索的tester,致力于用技术改变身边人对测试的认识。对Web,接口和APP 自动化均有所涉及。

往期推荐

《穿越时空的git》之创建版本库和常用命令操作

福利 |
学会Jenkins自己部署测试环境,让你工资high到飞

单元测试框架怎么搭?新版的Junit5有哪些神奇之处?

基于Junit4,利用xUnit框架让你的测试用例可维护性大幅提升

- 今日互动 -

欢迎文章下方留言并分享给其他测试小伙伴哦~

**
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
QQ交流群:484590337
公众号 TestingStudio
点击获取更多信息

原文地址:https://www.cnblogs.com/hogwarts/p/15842299.html