Github

1. github

gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuerypython 等。

2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub。

2. 使用github

高效搜索开源项目

语法详情
in:name<you_need>标题中必须带有you_need的关键字,比如说,in:name python就代表项目标题必须有python关键字
in:readme<you_need>方法限制了项目详细介绍中的关键字
in:description<you_need>方法限制了项目简介中的关键字
stars:>1000项目的stars星星数大于1000个
forks:>1000项目上fork数大于1000
language:java项目语言使用的java语言
pushed:>2019-10-01项目更新时间在2019年10月1日之后

上面的方法可以叠加使用,至少可以提高你的搜索精准度。

3. 提高github官网的访问速度

GitHub访问速度慢,这是因为GitHubCDN域名遭到DNS污染,导致无法连接GitHub的加速分发服务器,才会使得国内访问速度很慢。

解决: 通过修改 Hosts 文件,将域名解析直接指向 IP 地址来绕过 DNS` 解析的办法解决污染的问题。

我们先修改本地hosts文件

  • windows系统hosts文件路径:C:\Windows\System32\drivers\etc\hosts
  • Linux系统hosts文件路径:/etc/hosts
  • mac系统hosts文件路径:/etc/hosts

加入以下内容

# GitHub
140.82.114.3 github.com #具体ip可能会变
199.232.5.194 github.global.ssl.fastly.net #具体ip可能会变

增加github.com域名相关的映射

打开ipaddress官网,找到github

github.com

github.global.ssl.fastly.net

修改后,我们使用“ifconfig /flushdns”命令刷新一下DNS解析缓存

在此访问github.com网址时,虽然不能达到秒出,但是相比以前快多了!

4. github团队协做开发

一.内部协作

1. 创建邀请

假设两个用户:zysheep(产品经理)、java-ivanLi(程序员小李)
产品经理登入github,创建BaseTest仓库,邀请程序员小李协助开发,搜索java-ivanLi并添加

搜索后add java-ivanLi to BaseTest,头部显示

2. github会发送邮件给被邀请人

3. 接受邀请或者拒绝参与合作


点击接受邀请,头部显示

返回主页,存在zysheep/BaseTest仓库

4. 程序员小李拉取开发

git clone https://github.com/zysheep/BaseTest.git  克隆远程库
git status              查看状态
修改helloworld.txt文件
git commit -m "ivan修改了helloworld" helloworld.txt  提交到本地库
git remote   查看远程地址
git push origin master  push到origin(远程库别名)远程库

查看zysheep(产品经理)的首页

有程序员小李的提交日志信息,点击zysheep/BaseTest查看文件详情

点击修改日志查看内容修改详情,对内容整体评论

对内容的一行评论

5. 解决冲突

如果不是基于GitHub 远程库的最新版所做的修改,不能推送,必须先拉取。拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。

6. 删除程序员小李访问权

程序员由于代码写的烂,被产品经理开除了,所以就需要删除对仓库的访问权限

头部信息

程序员小李由于被产品开除,心情很不好,就想提交bug到仓库中,祸害团队(开玩笑的,讲故事)

# 修改helloworld.txt文件
vim helloworld.txt
# 添加的内容
while(true){
        System.out.pringln("该死产品经理");

}
git status  #查看工作区与本地库的状态
git commit -m "该死的产品经理" helloworld.txt  #提交到本地库

git remote 
git push origin master

git更新了一个证书,我们本地需要再更新以下:
https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0
下载安装即可

再次提交,发现还是报错

原因: 远程对java ivanLi访问zysheep/BaseTest.git的许可被拒绝,无法访问"https://github.com/zysheep/BaseTest.git/"

结论:删除没用的参与者,参与者就无法在对仓库进行访问

二. 跨团队协作

假设:有两个团队:java-ivanLi(第三方)、zysheep(产品经理),产品经理请第三方帮忙协助修改自己修改不来的bug

(1) 产品经理登录,复制的仓库地址发送给第三方,第三方Fork仓库到自己的远程库,clone到本地开发

(2) 克隆到本地,修改bug,提交到本地库,如果是添加了一个文件需要先添加到缓存区在提交到本地库,在push到远程仓库

(3) 发生一个pull request请求本地库与远程库合并

下一步

下一步

下一步

这里实际就是一个对话的过程了,等待产品经理的操作。

(4)登入产品经理的github

查看来自java-ivanLi的Pull request

下一步,产品经理回复java-ivanLi

审核代码

确认代码没有bug,是好的建议,进行合并

输入合并的备注信息

合并后的状态

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李熠漾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值