GitHub学习笔记

来源:互联网 发布:json文件怎么添加注释 编辑:程序博客网 时间:2024/06/11 01:14

本笔记根据慕课网happypeter老师的讲课内容整理。
版本撤销:

  • 撤销一个版本可以用undo,但是此功能只能在版本没有同步之前使用。
  • 同步指本地的同步到github网站上。
  • 已经发布的版本可以用Revert this commit, 也起到了撤销版本的作用。
  • 可以选中一个正确的版 本然后用 Roll Back to this Commit删除这个版本之后的所有的版本。

同步:

  • 本地的项目,尽快放到github上,可以防止本地丢失。
  • 把项目放到Github上,点击Publish,然后点击Push Repository即可。
  • 以后再做的,点击同步按钮就可以同步了。

分支(Branches)操作:

  • master分支指向的是目前最新的版本,最新的版本又指向其父版本,依次向下长,形成一根竹子。
  • 但是一个仓库之中不一定只有一根竹子,点击Branches下的+号,可以在master下新建分支。
  • 开新分支的目的是,我们想基于前面的代码开发一些新的想法,但是又不想污染到master分支上的很重要的代码(master分支一般存可以随时放在服务器上当产品跑的代码)。
  • 删除分支:把分支切换到其他的分支上以后,在要删除的分支处点击Delete(同时删除本地和远端的分支),或者点击Unpublish(只删除远端的分支)
  • master是仓库的默认分支,默认是不能删除的。可以在Settings中设置默认分支 GitHub学习笔记
    这里写图片描述

合并分支:
第一种:Merge,把两个不同的分支合并到同一个。如把新的想法更新到master分支上。
这里写图片描述

第二种:rebase 即同一个分支,一个在本地,一个在远端,例如远端的master分支被另一个人更改了,本地的也对master分支做了更改。

  • 在代码不冲突的情况下,只要使用同步就可以实现合并。
  • 当代码发生冲突的时候,可以找到冲突的地方,Git会有冲突标示符指示出来。此时需要商讨,看怎么修改解决,再进行同步。

这里写图片描述

GitHub流程:(见 理解GitHub Flow)
流程:创建一个新分支 —> 在新分支上做新版本 —> 开启一个Pull Request(最重要,最核心) —> 讨论和代码审核 —> 合并分支,然后部署

代码的写作开发两种情况:
1. 熟悉的团队之间

  • 给队友添加写权限:在Settings —> Collaborators —> 输入密码 —> 搜索队友 —> Add Collaborator
  • 发Pull Request: 就是自己在另外一个分支上做了一个版本,现在想项目的主管者从我的分支上拉取代码,到master分支之上。
  • Write处,写一些解释性的语言。可以截图。 然后点击Create Pull Request。评论处可以用: 插入表情

2.开源项目的流程

  • 加写权限是不现实的。解决办法:在别人的开源代码处先Fork一下。相当于对开源的仓库做一个拷贝,放到自己的名下。
  • 在自己的页面处,点击Clone in Desktop,把远端的仓库clone到自己本地机器上。修改,然后同步。
  • 在开源的页面上,点击Graphs —> Network 可以看到所有fork并且做了修改的人,并且可以点开看一下fork的人做了什么修改。
  • 以自己的身份点击Pull Request —> New pull request —> Create Pull Request

3.快速发Pull Request: 用于小改动的时候。(适用于上面两种情况)

  • 在开源页面某个文件下,点击一个笔的编辑按钮,然后做修改,并写留言,然后点击 propose file change。

GitHub Issues: (在官网上Mastering Issues)
在每个项目上,都有三个方法来辅助这个项目:

  • GitHub pages来搭建一个项目主页,是一个免费服务。
  • Wiki机制,做自己的知识库。
  • Issues,事物卡片。当对一个代码有BUG或者想修改,并且已经成型修改好了,可以直接Pull
    Request。但是当对这个想法没有成型,需要讨论的时候,就可以用Issues创建事物卡片。

步骤:

  • 在项目主页上点击Issues,添加主题和描述。然后在Assignee中设置事物卡片布置给谁去完成。在自己的write中使用@给别人来展开讨论。
  • Markdown是一种简单的标记性语言,可以通过简单的标注,最后导成很漂亮的格式。在Write中可以使用。(详细见Mastering Markdown)
  • 标题:#h1
  • 列表:*first *second。。。
  • 回复特定人的问题:>把别人的问题拷贝到write中,也可以选中别人的话,用快捷键R就可以达到相同的效果。然后进行回复。
  • 引用写过的内容:在写过的内容出,点击时间处(commented ***ago),得到一个链接,在write中写,这个问题已经讨论过了:链接
  • #1,可以直接得到编号为1 的事物卡片。
  • Pull Request 是由代码引发的讨论 而Issues是由讨论引发代码
  • 针对某个事物卡片做修改,在版本留言最后用 #1,表示这是针对实物卡片1做的修改。如果用 fix
    #1表示针对事物卡片1做了修改,并且会关闭这个事物卡片。
  • 在文本中也可以使用markdown,只要后缀名是.md即可。
  • 在write中直接插入代码:三个反引号,后面跟语言类型 下面写代码内容 以三个反引号结束,这样代码会高亮显示

GitHub Pages:

  • 新用户,新用户创建的组织,以及具体某一个项目,都可以使用GitHub Pages服务来做一个网站。
  • 两类:用户/组织网站 项目网站

    做项目网站:

  • 在项目仓库下,新建一个分支叫gh-pages,这个名字是严格要求的。同步一下,切换到该分支,删除该分支下所有的文件,并做成一个版本,然后加一个index.html。添加内容,同步到远端。

  • 公网域名:用户名.github.io/项目名 就可以看到了。

    更多技巧:

  • 绑定自己的域名 Custom URLs

  • 使用Jekyll框架

GitHub的秘密机关:(Git and Github Secrets)

  • 在目录树中找一个文件:敲快捷键t 就可以查找
  • github上可以找到大牛,找自己领域的大牛,可以通过项目来找人,看一个项目的star的数量。在commits中可以找到。
  • 看一个项目该不该用,可以看该项目更新的时间。越近越偏向于使用。

很好的资源:

  • 基础知识讲解:http://git-scm.com/book/zh/v1
  • 对GitHub Flow讲解:http://segmentfault.com/a/1190000002413519
0 0
原创粉丝点击