吉祥物:octocat – 章鱼猫
Git仓库的托管服务是GitHub项目的目标之一,这只是漫长路程上的一个点而已
—— Chris Wanstrath(GitHub创始人之一)
GitHub 代码托管和分享只是其中之一,更是一种开发的模式
合并请求
Pull Request ——frok-bugFix-pullRequest-Merge
Pull Request三个模块:
1. 交流(conversation)
2. 提交(commits)
3. 文件修改(files changed)
@:交流中也可以使用@的方式对特定对象交流
GFM(GitHub Flavored Markdown):支持markdowm语法,或直接使用富文本编辑器
watch关注
项目有任何变动包括pull request都收到通知,如有绑定邮箱将收到邮件通知
第一时间了解项目的变化
start意译:收藏
将在你的start列表中出现,也有点赞等含义
frok 拷贝 - 用于pull request 拷贝的项目不会自动更新
小技巧:点击数字则是查看watch、star、fork具体有什么人关足这项目
**解放了源代码:**GitHub让普通开发者也可以接触源代码
**开发者的名片:**HR可以通过GitHub直观了解开发者水平
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,一边交流一边进行codeing,有助于提高分支的质量
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配置项
Assignees 人员:可以指派某个成员去完成
labels 标签:用于分类管理和过滤查看,对于大型项目一般有两个Label,优先级和性质
Milestone 里程碑:是Issue的容器,相关的isssue放在同一个里程碑上,创建里程碑一般以不同的版本,迭代等。可以理解为项目的阶段目标
Projects 看板:用于项目的计划管理
Iussues:任务管理
Pull requests:代码合并以及交流
issue的默认标签
bug
duplicate 重复
enhancement 优化
good first issue
help wanted 瓶颈
invalid 无效
question 问题
wontfix 无法修正
Edit 定制