#前言
关于github的教程网上有很多,但现在已经是2022年了, 我为什么还要再写一篇教程呢?有以下原因。
- Github 已经支持个人私有仓库了,但比较古老的教程里面还写了 GitHub 不支持个人用户免费私有自己的仓库。
- 太多时候默认初学者熟悉命令行操作, 对 Github For desktop 介绍较少。
- 还有最关键的无法访问 GitHub 网站问题,我将给出符合我国法律法规的解决方案。
- 某位朋友带来的启发
#Github 介绍
比较正式的介绍:
GitHub 是一个版本控制和协作的代码管理平台。它可以让你和他人在任何地点一起进行项目工作。
是不是比较懵,那就看看下面这张图。
(图片来源 GitHub 是怎样的一个存在? - Deep Reader 的回答 )
在此之前,Github 是由 Tom 与 Chris 在本地程序员聚会中,开始的一个用于托管 git 的项目。正如每个伟大的传奇都开始于一场冒险,Tom 在这篇文章我如何辞掉微软 30 万年薪邀约,创办 GitHub 中谈到:
当我老去,回顾一生,我想说,“哇,那是一场冒险“;而不是,“哇,我真的很安稳。“
另一位创始人 Chris 也详细描述了 GitHub 初创的前因后果,他说道:
Do whatever you want.
而现在 GitHub 上面不只有优秀的开源软件仓库,也会有菜谱仓库,求脱单仓库,分享如何活得更长的仓库,个人健身记录仓库,甚至还有女装仓库哈。
#GitHub 无法访问解决方案
由于某些原因,我们常常会出现无法连接到 github 的情况,如下图所示:
2022.10.20 更新为 watt toolkit
安装地址为:
然后即可访问 Github 了。
#GitHub 注册教程
- 首先打开 GitHub 首页
然后在这个框框里面输入你的一个邮箱地址之后,点击 SIgn up for Github.
再继续点击 cotinue
自己设置一个自己会用到的密码,起码 8 位哦
巨反人类的验证码机制,反正选那个漩涡最明显的地方就好
这边注意:不要开着 steamcommunity 302 注册,会无法注册的,服务器得不到正确的响应。
此处信息填写大致按我的来就好。
#Github 简单使用
点击完 continue 后,可用去编辑自己的个人介绍,。
- 可以用中文,
- 可以用中文
- 可以用中文
- 不要被英文页面吓到,心慌之间开网页翻译就好
- 这都 2022 年了,开翻译阅读英文网站不丢人哈哈
- 但以后还是要自己上手英文的,毕竟你不可能靠拐杖一辈子。
写好之后点击绿色按钮,你的个人介绍就好了
#创建仓库
创建仓库
填写一些资料
Github 上的项目页面(图片来源http://blog.csdn.net/android_zyf/article/details/64175941)
#Github desktop 的下载使用
#安装 GitHub Desktop
下载地址:[https://desktop.github.com/](GitHub desktop) 选择适合你的版本下载 如果你网不好,打不开,可以下载下面这个 GitHubDesktopSetup-x64.zip 安装好 GitHub Desktop 后,第一次运行时需要输入 GitHub.com 的用户名和密码, 以下教程是我懒得截图了,用的其他人的的 他的原链接在此: https://www.jianshu.com/p/a6fc842f501d 谢谢大佬。
GitHub Desktop 的界面
#创建本地仓库
Step1: new Repository
Step2: 填写仓库名字、描述,选择存放地址
Step3: 在文件夹打开
Step4: 添加自己到项目文件
Step5: 提交改动
#提交改动到远端(Github.com)
推送到本地到仓库到远端
成功之后,就可以在自己到 Github 项目页面看到新提交到项目了。通过 GitHub Desktop 你已经能够把本地的项目文件跟远端(Github.com)上的项目关联起来。
Github.com 个人项目页
#从远端拉取仓库
除了本地创建仓库推送到远端,我们也可以从远端拉取项目(Clone)
Step1: 进入自己的项目页面,复制项目地址
Step2 回到 Github Desktop
Step3: 粘贴地址,Clone
#本地提交和推送
成功从远端拉取项目之后,你可以使用自己喜欢的编辑器打开,编辑好文件之后,再提交改动到远端
Step1: 本地提交
此时提交仍然是属于本地的,如果需要提交到远端(Github.com)还需要进一步推送
Step2: 点击 Push origin 就可以推送到远端
#版本回滚
通过第 7 步,可以轻松的看到自己对项目的改动,哪怕只是改了一个空格,一个分号,都会有清晰的显示,再也不用害怕不小心改错地方了。
是不是非常的愉快,那如果改完之后又后悔了,有没有后悔药?
答案是,当然有,你可以轻松的回到任何的一次修改。
情况一,你还没提交代码,这时候最简单,只需要文件右键"Discard Changes" 放弃更改即可
Discard Changes
情况二,你已经提交代码,操作也非常简单,右键选择"Revert This Commit" 恢复到当前提交
Revert This Commit
#新增分支
创建和切换分支到操作很简单,关于分支到概念 请看 阮一峰的 Git 分支管理策略
step1: New Branch
step2: 填写分支名字
#合并分支
现在我在 dev 开发分支上做了添加了 login.html,那么如何合并到 master 分支呢?
dev 分支
首先,我们需要切换到 Master 分支,
Step1: 切换分支
Step2: 合并到当前分支
Step3:把 dev 的变化合并到 master 分支
此时,你会发现 master 分支上的提交历史已经有了“添加 login”这个改动,这说明合并已经成功。
#解决冲突
以上操作,一个人玩的时候溜溜的,很愉快,但实际工作中,经常是多人一起开发,这时候,两个人同时改了同一个地方,就会出现冲突的情况。
比如我在 dev 分支和 master 分支对同一个地方进行改动,
dev 分支
master 分支
在合并分支的时候就会出现冲突
这时候,点击关闭提示,再看 Changes, 冲突的文件已经列出来
冲突在 GitHub Desktop 的体现
我们可以在编辑器中修改,
冲突在编辑器中的体现
必须注意的是,解决完冲突的代码不能有 <<<<<<< HEAD ======= >>>>>>> dev 这些标记
解决完冲突的代码
提交解决冲突后的合并
#Fork 别人的项目
通过前面的步骤,日常的工作已经能轻松进行,但 Github 除了托管自己的项目,上面也汇集了大量优秀的开源项目,我们如何快速的克隆别人的项目?
以 Vux 项目为例子:
vux 的项目页
Fork 之后,我们已经克隆了一个作为自己的项目版本,可以进行任意的开发和学习
现在我们也有一个 vux 项目了
在做了一些创造性开发之后,你可以向原作者提交合并的申请,
点击 New pull request
合并的请求
这时候原作者就会收到一个合并请求,他可以通过审核你的提交,来决定需不需要合并。
#除了写代码你还可以用 Github 做什么?
#1.GitHub Page —— 一个独属于你自己的网站
我想大多数人都对白嫖感兴趣,而白嫖一个自己的网站似乎也是一件不错的事情哈哈。
下面给出 Github Page 的官方地址:
有兴趣仔细研究的可以去官网看。下面我会向你展示如何一分钟内拥有一个自己的个人网站: 1.打开 github 首页
2.点击这个 new
3.填写仓库详情
4.然后你得到了这个,接下来就是把这个页面发布到网上啦
然后
最后等几分钟,等网页上传完毕,
在浏览器地址栏输入
https://你的用户名.github.io
示例:
https://meetwsr.github.io/
你获得了你的网站,独属于你自己
Markdown 语法简单介绍见我另外一篇文章啦 但我前面教的应该够最基础的使用了
#2. 写书
几个人你一章我一章共同修改一本书,或是几个出版社的编辑对新书进行校对,利用这个神器就可以随时看到哪里出现了问题和更改。如果想自己写书的话 gitbook 也是不错的选择。
#3. 分享如何活得更长的经验 😂
#3. 健身
有个哥们为了激励自己健身把每日计划都放上去了,还可以邀请其他人一起来相互监督! hoosin/EveryDaySport · GitHub
#4. 找女票/男票
没错,看这个项目!利用众包的形式一起罗列女票/男票条件的 list 然后试图自己开发出一个女票/男票 YixuanFranco/YourBoyfriend · GitHub
#5. 政府文件
之前看到一个知乎回答说:日本政府把宪法放上去了,德国政府也做过类似的事:German Federal Law Now on GitHub。除了德日之外,英美在 GitHub 上也有很多公众服务:英国政府多达 10 页的项目目录: Government Digital Service · GitHub 其中很多是政府项目的源代码或者设计原则之类。
#6.女装...
论人类可以有多无聊
地址:
#结束语
暂时就写道这里,时间仓促,难免有很多地方有疏漏,请您谅解哈。 git 的教程可用看我另外一篇文章,本篇是写给小白的,尽最大努力减少了代码的出现。 私以为:编程的第一节课应该是打开眼界,展示给初学者,代码能做到什么。 顶尖的代码与魔法无异。 我依旧记得我第一次再 github 里看到Vscode(这个时代前端的最高成就之一)的团队五分钟前提交了代码,还有他们的周报。你听说一万次对方代码能力很高,也不如亲眼目睹他,在十分钟前刚刚提交的代码的震撼感强烈。 坦白讲我在那一刻想的是 吾可取而代之 。 新手的编程第一课,应该是启蒙,认识这个行业,认识你自己!
然后如果有什么意见,欢迎给我留评论。
#我的项目求队友
然后很不好意思的是 我想给自己的一个项目打个广告, 西安财经大学新生指南
初次来到一所大学,你是不是也和我一样苦恼于不知道快递去哪取,校园哪家饭好吃,这个专业咋学,要不要参加社团,学生会,党员好入吗,这个专业难不?等等问题。 我是从许多学长学姐那里辛辛苦苦打听的经验 不要 998,不要 998,免费送啦哈哈 不过目前是一篇空白,只有目录。 如果您愿意为后人留下一点经验,请联系我。
如果我在开学前就知道这些,想必我的大学生活开局会更顺利吧。 前人走过无数次的弯路,后人何必再走啊。
#
[pdf版本](/uploads/Github 指北 小白向.pdf)