目录
Δ前言
一、Github教程
1.什么是Github?
2.仓库和对仓库的操作:
2.1 Repository(仓库)
2.2 Fork(派生)
2.3 Star(收藏)
2.4 Watch(追番)
2.5 Issue(问题)
2.6 Pull Request(引出请求)
2.7 Projects(项目板)
3.图文演示:
4.怎么在Github上找项目:
4.1 根据项目名称的特点查找
4.2 根据项目的Star数据查找
4.3 根据项目的Fork数据查找
4.4 根据项目的最近更新时间查找
4.5 根据项目所使用的编程语言查找
二、GitHub Desktop教程
1.什么是Github Desktop?
2.利用GitHub Desktop创建新仓库:
3.从Github网站上克隆已有的仓库:
4.将本地仓库的修改PUSH到Github:
Δ总结
Δ前言
- 学习Git之前,很有必要先了解一下Github 和 GitHub Desktop的使用教程。
- 注意事项——①代码中的注释也很重要;②不要眼高手低,自己跟着过一遍才真正有收获;③点击文章的侧边栏目录或者文章开头的目录可以进行跳转。
- 良工不示人以朴,up所有文章都会适时补充完善。大家如果有问题都可以在评论区进行交流或者私信up。感谢阅读!
一、Github教程
1.什么是Github?
GitHub是一个在线软件源代码托管服务平台,用于公开程序或软件的代码,并使用Git作为版本控制软件——From Wikipedia。说是代码托管平台,其实只要你想,各种类型的文件都可以上传到Github,并且可以决定它们是否被其他人可见;同样地,你也可以在Github上浏览和操作其他用户上传的文件(如果这些文件可见的话)。
2.仓库和对仓库的操作:
2.1 Repository(仓库)
Github以“仓库”为基本单位进行代码托管,一个仓库包含了该项目的所有文件、版本历史和协作信息。所有的文件都必须存放在仓库中,也就是说,不管你要在Github上存放什么东西,首先必须有一个地方去放这些东西,这个地方就是Repository(仓库)。
项目和仓库是一一对应的,但文件和仓库并不是一一对应的,一个项目会有许多文件,实现功能相同或相似的文件往往存放在同一个仓库,但毫无相关的不同文件也可以放在同一个仓库,亦或存放在不同的仓库,完全由业务需求来决定,很灵活。值得一提的是,不同的仓库均可设置为public(可见)或者private(不可见)两种状态,当你将你的一个仓库设置为public时,我们就称“你在Github上开源了一个项目”。
如果是刚刚创建Github账户,Github默认不会为你创建仓库,所以我们需要先创建一个仓库,才能向Github上传文件(上传到指定的仓库),其中“上传文件”这一操作,称为“PUSH”,可以理解为将文件推送到了仓库中,下文中up会进行创建仓库和推送文件的演示。
2.2 Fork(派生)
作为全球最大的代码托管平台,Github上开源的好项目自然是少不了(下文中up会演示如何找项目),有时候看来看去难免就眼馋(bushi,这时候你就可以“Fork”一个你喜欢的项目到你自己的账户中。一个项目的forks的数量在一定程度上可以反映出这个项目的火热程度。
Fork功能在GitHub上用于将别人开源的项目派生一个副本到你的账户。你可以自由地修改、实验和开发派生出来的仓库,而不会影响原始项目。Fork后的仓库独立存在,并且,你可以提交更改,并通过Pull Request请求将这些更改合并回原始仓库。
同样地,别人也可以Fork你开源的项目,这样他的Github主页上便会多出一个基于你的项目的项目,他可以在此基础上自由地修改、实验和开发这个项目,而不会对你原来的项目造成任何影响。 当然,如果后续你修改了原来的项目,那么他需要自己去做同步处理。
2.3 Star(收藏)
不同于知乎,B站,X等我们熟悉的社交媒体平台,Github上并没有提供“点赞”的功能,但是提供了“收藏”的功能,就是我们的“Star”。通过“Star”一个开源项目,你可以——
- 表达对该项目的喜爱或认可(这是收藏功能的应有之义)。
- 将项目添加到你的收藏列表,方便日后查找(这是我们平时在各大平台使用收藏功能的出发点和落脚点)。
- 帮助项目获得更多关注,因为加星数越多,项目的受欢迎程度就越高(这是收藏功能的本质要求)。
2.4 Watch(追番)
追番后,番剧有什么新的更新动态都会第一时间通知提醒你。同样地,如果你“Watch”了一个项目,那只要这个项目有任何更新,都会第一时间通知提醒你;比如别人提交了一个Pull Request,或者发出了Issue等等,你都会在通知中心接收到相关通知。
2.5 Issue(问题)
你能保证你开源的项目天衣无缝,完美无瑕,挑不出一点毛病吗?别扯了,是个项目就有优化的空间。别人也一样,偶尔开源的项目出点小猫小饼的都很正常。如果你在浏览别人的项目时发现一些小猫饼,并且你还没能力解决,或者别人开源的项目中有一些你看不懂的地方,你就可以通过在它的项目中“Submit new issue”(提交一个新的问题),接着等待管理者的解答。
同样地,别人如果发现了你代码中的小bug,或者其他一些做的不够好的地方,也可以向你提出一个Issue,然后你看到这些Issues后就可以去逐个解决、修复、更新和完善。总结,Issue类似于“留言”的功能。
问题的发出者或者回答者,其中一方可以选择Close issue(关闭问题),表示该问题已经🆗了。
2.6 Pull Request(引出请求)
“Pull Request”建立在“Fork”的基础上,它用于提交代码更改请求。它的作用是:
- 提交更改:当你在一个分支上完成修改后,可以通过Pull Request(简称PR)请求将这些更改合并到主分支。
- 代码审查:团队成员可以查看、评论和讨论你的更改,确保代码质量。
- 协作:提供一个平台来讨论修改,解决冲突,并在合并前进行必要的调整。
- 记录历史:所有讨论和更改记录都保存在Pull Request中,方便日后查阅。
2.7 Projects(项目板)
Projects,即项目板,包括议题、拉取请求和注释,在选择的列中分类为卡片且不同列中的卡片可以重新排序。它的作用是——
- 帮助组织工作和排列工作的优先级。
- 灵活地创建适合需求的工作流程。
3.图文演示:
我这个演示默认你已经注册了一个Github账户,“注册”流程就不用我演示了吧,宝宝题(,这里up只提醒大家一点——注意选好邮箱(不推荐用QQ邮箱)。
首先我们在Repositories页面,选择“New”,以准备创建新仓库,如下图所示:
进入创建仓库的页面后,要注意一下几个信息:
特别说明,如果你想在Github上发布一个静态网页,仓库名必须命名为“username.github.io”,这是甲鱼的屁股——龟腚(规定)。
好,继续,确定一些细节选项,如下图所示:
刚刚创建后的仓库,除了README.md文件外一无所有(如果你在创建仓库时勾选了这个选项的话),这时候我们可以通过“Upload files”功能来上传文件,如下图所示:
"Upload files"界面如下:(可以将需要上传的文件拖到文件接收区)
注意,每一次提交的记录都将保存在Repository中,所以你需要为每次提交给出名字和说明,方便以后查看,如下图所示:
接着,点击Commit changes,完成“提交”的操作,即可看到“高等数学.xmind”已经出现在仓库中,如下所示:
另外,在Commits中,我们可以看到这次提交的具体说明,如下图所示:
下载后可以看到思维导图正常显示,如下:(备注:数学二)
4.怎么在Github上找项目:
4.1 根据项目名称的特点查找
在搜索框中,我们可以通过“in:name xxx”来轻松找到项目名中含有“xxx”字样的项目,比方说我要找一个SSM的项目,我就可以通过"in:name SSM"来查找,如下图所示:(PS: 类似的还有in:readme xxx,表示查找README.md文件中含有"xxx"字样的项目;以及in:description xxx,表示查找项目描述中含有"xxx"字样的项目)
可以看到,通过in:name SSM找到项目中,项目名都包含“SSM”。
4.2 根据项目的Star数据查找
上面我们仅仅根据仓库名查找,出来三万多条查找结果,我们当然想着要优中择优,而Star的数量和项目的质量成正相关。我们可以通过"stars:>number"来查找stars的数量超过number的仓库。如下所示:
可以看到,我们在仓库名包含"SSM"的基础上,搜索stars大于1000的仓库,三万多条记录直接变成了七条,可见star的数据在Github上的含金量。
4.3 根据项目的Fork数据查找
尽管stars大于1000已经是来之不易,但是我还要继续优中择优,希望在此基础上查找forsk大于800的仓库,可以通过"forks:>number"来查找forks的数量超过number的仓库。如下所示:
4.4 根据项目的最近更新时间查找
尽管stars大于1000且forsk大于800已经是来之不易,但是我还要继续优中择优,希望找到2024年仍然有过更新的项目。通过"pushed:>xxxx-xx-xx",可以查找到最近提交时间大于指定时间的项目。如下所示:
不是哥们,一个都没,SSM真的被时代抛弃了吗?😭(bushi
4.5 根据项目所使用的编程语言查找
通过"language:xxx"来查找编程语言为xxx的项目,如下所示:
PS : 更多高级查找方式,见Github官方介绍——https://github.com/search/advanced
二、GitHub Desktop教程
1.什么是Github Desktop?
GitHub Desktop 是一个由 GitHub 开发的图形化界面应用程序,旨在简化 Git 和 GitHub 的使用。它为用户提供了一个直观的方式来管理代码仓库,而无需使用命令行。
2.利用GitHub Desktop创建新仓库:
同上文Github教程一样,up默认你已经下载好了Github Desktop,并且已经关联好了自己的Github账号(鼠标点点就完事儿了)。所以up就直接开始演示了。
通过File-->New repository...,可以在Github Desktop上创建新的仓库,如下图所示:
创建过程和在Github网站上基本一致,如下:
注意,这个时候如果我们去看自己的Github会发现根本没有“Leetcode-Buster”这个仓库,因为它只是创建在了本地,你还需要将他发布到Github,如下图所示:
发布后,再去Github网站上查看自己的仓库,会发现多了一个“Leetcode-Buster”,如下所示:
3.从Github网站上克隆已有的仓库:
在上文“Github--->图文演示”中,我们创建了一个“Mind-Map-Collection”仓库,但是这个仓库并不在本地,Github Desktop允许我们一键将仓库克隆到本地,如下所示:
选择File-->Clone repository...即可进行克隆,如下所示:
接着,我们便得到了克隆的仓库,包括该仓库详细的提交历史,如下图所示:
4.将本地仓库的修改PUSH到Github:
之前创建的“Mind-Map-Collection”仓库中目前只有“高等数学.xmind”一个文件,我们当然可以在Github上通过“Upload files”功能来上传文件,但这次我们试试用GitHub Desktop,先将新的文件Commit到本地仓库,再从本地仓库PUSH到Github上。
现在up准备了“408提纲.xmind”这么一个思维导图,如下图所示:
现在up把这个文件,放到对应的本地仓库(即up刚刚才从Github上克隆过来的本地仓库),如下所示:
这时候,GitHub Desktop会立刻检测到仓库文件的变换,如下图所示:
接着,我们通过Commit提交到本地仓库,如下:
这还没玩,这只是本地仓库确认了“408提纲.xmind”这个新文件的加入,但是你还要把它PUSH到Github网站上,如下图所示:
PUSH之后,我们再去Github网站上访问“Mind-Map-Collection”仓库,就会发现多了“408提纲.xmind”文件,如下图所示:
Δ总结
- 🆗,以上就是“GitHub 及 GitHub Desktop 详细使用教程”一文的全部内容了,感谢阅读!
- 博文中呈现的内容其实只是Github的冰山一角,Github非常强大,也非常迷人,未来up也会把Github更多好用且好玩的地方分享给大家,并不断完善这篇博文。
- 另外对于“Github Desktop”的使用演示,up也只是列举了一些最基本的使用,之后也会适时地更新一些其他功能的演示。
System.out.println("END--------------------------------------------------");