欢迎使用CSDN-markdown编辑器

  • GitHub笔记
      • 1 GitHub
      • 2 GitHub协同开发
      • 项目watch start frok
      • 3 社会化编程 开源
        • GitHub 提供的主要功能
      • Git常用操作
      • pull request 流程
        • git 仓库的维护
        • issue 的分类
      • GitHub开发模式

GitHub笔记

吉祥物:octocat – 章鱼猫

Git仓库的托管服务是GitHub项目的目标之一,这只是漫长路程上的一个点而已
—— Chris Wanstrath(GitHub创始人之一)

1.1 GitHub

GitHub 代码托管和分享只是其中之一,更是一种开发的模式

1.2 GitHub协同开发

合并请求
Pull Request ——frok-bugFix-pullRequest-Merge
Pull Request三个模块:

1. 交流(conversation)
2. 提交(commits)
3. 文件修改(files changed)

@:交流中也可以使用@的方式对特定对象交流
GFM(GitHub Flavored Markdown):支持markdowm语法,或直接使用富文本编辑器


项目watch start frok

项目热度

watch关注
项目有任何变动包括pull request都收到通知,如有绑定邮箱将收到邮件通知
第一时间了解项目的变化
start意译:收藏
将在你的start列表中出现,也有点赞等含义
frok 拷贝 - 用于pull request 拷贝的项目不会自动更新

小技巧:点击数字则是查看watch、star、fork具体有什么人关足这项目


1.3 社会化编程 –开源

**解放了源代码:**GitHub让普通开发者也可以接触源代码
**开发者的名片:**HR可以通过GitHub直观了解开发者水平

GitHub 提供的主要功能

  • Git仓库:公开的仓库免费试用,私有的仓库需要收费
  • Organzation组织:通常个人使用个人账号就足够了,Organzation账号提供一些人员权限之类的管理,部分功能需要收费,用于开发组织。
  • Issue问题: 对一个任务或BUG单独跟着管理,可以理解为BUG管理系统。每当创建Pull Request 都会自动创建Issue,当Issue解决后可以关闭。
  • Wiki项目的文档或手册: Wiki页的编辑和修改也是进行Git管理的,会将历史记录保存下来,支持GFM语法,一般情况下简短介绍使用的是README.md 详细的手册才用wiki
  • Pull Request 合并请求: 修改或添加新功能,以及相关交流讨论
  • Projects 项目计划管理: project、collumn 、card指定相关计划或任务。
  • Insights 项目贡献统计
  • GitHub Pages: 设置项目的网站,可以绑定域名
  • 等等…

Git常用操作

git init 初始化创库:创建一个git仓库,保存git数据-工作树

git status 查看仓库状态:在编辑过程中状态会不断变化。
获得的状态信息有:
分支状态
修改过的
新建的文件
暂存没有提交的

git add 向暂存区添加:
语法:
git add [fileName] 某文件添加
git add -a/–all :提交所有 修改、新建、删除
git add -u/–update :忽略 新建
git add -i/–ignore-removal:忽略 删除
git add . 类似all的具体版本功能有差异

git commit暂存提交
git commit -m “提交说明” :添加简短的说明并提交
git commit :跳转到说明编辑面板,编写后再提交或退出使用 -m提交。
编辑面板格式:
第一行简短说明
第二行留空
第三行后是详细说明
git commit –amend 修改提交信息

注意在提交后使用git status常看当前Git状体确认是否提交成功;

git log 常看日志
所有提交 合并等操作。以及相关信息

git diff 对比
查看工作树、暂存区、最新提交之间的差别。

HEAD 是当前分支的当前版本 的游标。

branch分支操作
git branch 查看分支列表 以*标记当前分支
git branch [name]创建分支
git checkout [name]选中分支
git checkout - 切换回上一次分支
git checkout -b [name]以当前的master创建分支

git merga 合并分支
git log –graph 以图标形式查看分支日志
git reset –hard [最小4位哈希值] 回复历史记录

远程仓库
git remote add origin 通过密钥添加远程仓库
git push 将本地git 推送至远程仓库
git clone [密钥] 获取远程仓库 默认获取的是matter分支
git pull 获取远程仓库进行更新


pull request 流程

  1. 将项目frok到个人github中
  2. 将项目clone到本地
  3. git branch 创建工作的分支
  4. git pull origin 完成后提交分支都个人github上
  5. 提出pull request申请

注意:一般情况下,项目较为复制,先申请pull request,一边交流一边进行codeing,有助于提高分支的质量


git 仓库的维护

git remote 列出远程仓库列表
origin:默认的主机名
git remote -v 常看远程仓库的网址
git remote show [name]展示主机详情
git remote add [name] [url] 添加远程主机
git remote rm [name] 删除远程主机
git remote [rename] [name] 修改远程主机名字

git fetch [name] 将远程主机的更新合并到本地
git fetch [name] [branchName] 获取具体分支的更新

git branch 列出本地分支
git branch -r 查看远程的分支
gti branch -a 查看本地和远程的分支
git branch -m | -M oldbranch newbranch 从命名分支
git branch -d | -D branchname 删除分支
git branch -d -r branchname 删除远程分支

跟新本地git:
git remote add [name] [url] 添加主的远程仓库,根据主的库,而不是你账号的库
git fetch [name] 通过fetch 获取跟新合并 这样跟新了本地git 通过push跟新个人账户中的库

issue 的分类

Issue配置项
Assignees 人员:可以指派某个成员去完成
labels 标签:用于分类管理和过滤查看,对于大型项目一般有两个Label,优先级和性质
Milestone 里程碑:是Issue的容器,相关的isssue放在同一个里程碑上,创建里程碑一般以不同的版本,迭代等。可以理解为项目的阶段目标

Projects 看板:用于项目的计划管理
Iussues:任务管理
Pull requests:代码合并以及交流

issue的默认标签
bug
duplicate 重复
enhancement 优化
good first issue
help wanted 瓶颈
invalid 无效
question 问题
wontfix 无法修正
Edit 定制

GitHub开发模式

你可能感兴趣的:(GitHub)