缘由    git 目前已经是非常流行的版本管理工具了。当时我在安居客的时候就已经使用这个工具了。而代码私有化管理是正常的一个需求,因为代码也是公司的资产。这几年使用过好几个,最开始的是gitlab,我专门写过一篇文章:用GitLab搭建自己的私有GitHub。然后是gogs。目前我们使用的是gitea。Gitea    gitea是从 gogs发展而来的,我个人使用过程发现感觉比gogs安装和使用都方便,还有是开源的。这点必修要佩服哪些开源的人和团队,因为有了这些开源工具才让我们研发效率更高更快。具体更详细的介绍,可以看官方文档,具体链接我放在参考资料部分了。准备gitea需要数据库记录基本信息,数据库我选用的是MySQL安装  二进制安装最简单,参考地址:二进制安装文档 。下载执行就好了wget -O gitea https://dl.gitea.io/gitea/
燃点        最近在查阅很多人的github的时候发现他们的首页都非常个性化,感觉挺新奇的,就去了解了如何配置个性化github首页效果展示动手实践        这个小彩蛋不知道是否一直都有,反正是被发现使用的时间好像不长。主要原理就是 github的这个个性化首页会 自动记载获取 和你用户名一样的一个仓库。如下图创建一个和自己用户名一样的仓库,然后README.MD 就可以写个性化首页的内容了后续计划        后续在做一个自动化同步脚本,将博客文章同步到github首页,参考该首页推荐资料        更多的彩蛋玩法 请大家查看: awesome
缘由最近在录制 从不知到全面了解HTTPS  这个视频,在使用acme.sh 申请ssl证书的时候 ,安装脚本出错,错误信息大致如下curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused解决方案绑定hosts的方式  $ vim /etc/hosts 199.232.68.133 raw.githubusercontent.com
在上一篇文章中系统已经烧写到SD卡中了,接下来我们来启动,启动系统。为了方便操作,需要一个HDMI的显示器,USB鼠标和键盘。启动直接将SD卡放入树莓派,通电就启动了。不需要特殊配置就启动了配置网络我家里的网络都是wifi,所以我就直接连接到wifi上了,如下图,配置完成之后IP是192.168.0.106开启远程SSH#在终端中操作 $ sudo raspi-config如上图选择 Interfacing Options 选择上图 选择 SSH,根据提示操作完成就开启了SSH。 然后就可以通过其他机器远程连接了。接下来我就在Mac笔记操作了#ssh的用户是 pi,密码是raspberry $ ssh pi@192.168.0.106系统优化安装Vimsudo apt-get install vim开启root账号登录$ sudo vim /etc/ssh/s
本文主要讲解 集成 第三方社交账号登录为什么会有这个需求?主要是因为目前互联网的网站数量太多,如果在各个站点都注册一个账号 用户非常不容易记住每个账号的用户名和密码,并且非常难保证每个账号的密码足够安全而目前流行的社交网站 基本上每个用户都有账号,如果通过这类社交网站登录 就能得到如下几点好处用户不用再注册其他账号用户只能维护社交账户足够安全就行了,使用此社交账号登录的就是安全的了常见的第三方社交账号有哪些?QQ微信新浪微博人人网百度Github如何加入第三方登录功能?国内这些比较大的社交公司 都有专门的开放平台,有经验的开发者可以看开放平台是可以实现了,本人主要实现三个社交登录新浪微博登录QQ登录Github登录申请新浪微博网页应用进入 http://open.weibo.com/  申请网页应用,微博应用可以先申请等上线之后再提交审核申请QQ登录应用进入 https://connect.qq.com/  ,登录之后 进入 应用管理,QQ应用需要
大纲创建自己的composer库提交到指定平台测试安装自己的库设置composer平台自动更新如何方便测试自己开发的库开始动手创建自己的composer库个人博客后台有一部分是关于统计的,通过UA获取浏览器,设备,操作系统。本人封装了一个库,放在github上,源码地址:https://github.com/apanly/browser-detector,任何一个文件夹只有有个composer.json文件,就可以作为一个库或者项目的,大家可以自行在github新建自己的项目browser-detector 的 composer.json内容如下{     "name": "apanly/browser-detector",     "description": "根据UA判断浏览器类型和版本,操作系统,设备型号&nbs
引言代码发布系统是互联网公司必备的运维系统,作用主要用户发布业务代码 到 业务服务器为什么需要代码发布系统有的同学可能说,我们公司服务器就那么一台,做个发布系统太麻烦了? 不认同这说法发布系统有如下好处流程管理,加上权限管理,可以在系统记录 谁 做了 什么 操作减少人工误操作影响,登录服务器本身操作就是有误操作的可能的运维自动化  为运维工作减负加快发布速度  不用人工登录N台服务器发布方便快速回滚版本技术选型git:代码管理工具  git使用笔记rsync:同步代码到指定服务器Yii2:php mvc 框架Bootstrap3:前端框架jquery:js库代码发布系统流程框架图Web界面化操作,流程化管理 ,提交发布任务定时脚本 获取发布任务制定同步策略 发布代码界面化操作,流程化管理流程化管理在人员比较多的时候优势特别明显,人多手杂很容易出问题。所以在代码发布系统中加入流程化管理也是与时俱进上图是我画的一个比较完善的流程图(以前公司实现过这么复杂的流程)
今天给我们自己的发布系统增加一个新建分支的功能,操作比较简单,但是使用php执行shell命令的时候总是无法push分支到远程,但是登陆服务器执行却是可以的新建分支命令如下git fetch --all git checkout -b pmt_20160624_v10.7.4 origin/master  git push origin pmt_20160624_v10.7.4:pmt_20160624_v10.7.4php大概代码如下,执行这个php文件是定时执行的<?php $cmd = [     "cd /data/xxx",     "git fetch --all",    
相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一本周有个朋友公司需要一个类似github的代码仓库管理系统,本人选择了gitlab(没有什么对比了,好像目前就gitlab最好了并且维护也不错了),下面就来说说搭建私有github系统的过程服务器设备信息如下Ubuntu 14.04(64)    memory:8G    cpu:4    disk:100G    bandwidth:2Mbit/s下载gitlab-ce-8.3.4.deb官网地址:https://about.gitlab.com/downloads/ (下载比较慢还要翻墙,下面有一个云盘下载地址)访问密码 1091  https://yunpan.cn/crywEZAg
  删除git某个文件的所有历史记录git的目的就是版本控制,记录每一个版本的变动。然而有的时候我们往往希望从版本库中彻底删除某个文件,不再显示在历史记录中。例如不小心上传了一堆错误的文件,或者不小心上传了帐号、密码,那么这个时候怎么办呢?下面的命令可以完美解决你的问题$ git filter-branch -f --tree-filter 'rm -rf common/service/SyncBlogServince.php' HEAD $ git push origin --force批量删除git分支git branch -r |grep 'origin/pmt_201608' | awk -F '/' '{print&nb
先声明几个变量 仓管A:主分支,只有master分支仓管B:开发分支,只有各个业务开发分支   仓管B fork 于 A如下图 为了保证 代码的稳定性,只有 仓管B中的某个分支测试完毕并进行了代码review 才可以 和 仓管A进行 merge PS: 只有仓库B所有开发都有权限  仓库A 只有特定人才有权限,这样可以保证仓库A的代码稳定性 流程和命令如下: 1.某业务功能确定要开发,2015年6月20号开始开发,新建分支 git checkout -b pmt_20150630_walle  remote_a/master //从 A仓管新建分支 git push remote_b pmt_20150630_walle:pmt_20150630_walle //在B仓管新建分支pmt_20150630_walle这样其他人可以直接使用此分支开发 2.开发过程中提交更新 直到测试 git add . git commit -am
  ###举例仓库仓库地址A:git@gitlab.54php.cn:guowei/demos.git仓库地址B:git@gitlab.54php.cn:infra/demos.git开发人员仓库C:git@gitlab.54php.cn:lurenjia/demos.git###多分支开发背景以demos为例子,主分支是仓库B,开发分支是仓库A,然后每个开发人员从仓库A clone,每周会在仓库A切一个新分支(例如43周叫做demos_201443)git clone A将远程的仓库A 克隆到本地仓库git remote add B_alias Bgit checkout -b demos_201443_local B_alias/demos_201443从仓库B的分支demos_201443创建一个本地分支,分支名称叫做demos_201443_localgit add .git commit -am "代码提交NB备注信息"git fetch --allgit re
   git 基本命令git add .git commit -am "请填写你NB的备注"git fetch --allgit fetch -p  //如果远程分支删除了,本地发现还是有备份,可以使用此命令git push origin master:mastergit remote add origin 仓库地址git remote rm origingit remote -vgit rebase origin/mastergit rebase --continuegit rebase --skipgit rebase --abort###举例仓库仓库地址A:git@gitlab.54php.cn:guowei/demos.git仓库地址B:git@gitlab.54php.cn:infra/demos.git开发人员仓库C:git@gitlab.54php.cn:lurenjia/demos.git###单分支开发git clone A将远程的仓
第一部分:安装git(本人使用ubuntu系统)sudo apt-get install git第二部分:基本配置git config core.filemode false//忽略文件属性的修改git config --global user.name "vincentguo"git config --global user.email "apanly@163.com"第三部分:生成ssh key 放到 github 或者 其他git平台ssh-keygen//一直确认将生成的pub公钥内容复制到 github 或者 其他git平台到这里 你应该就可以 使用 git  clone 代码了第四部分:git-supp 小工具https://github.com/apanly/git-supp可以提示很多东西:
  • 微信公众号 微信小程序
  • 微信机器人
  • 群1:1046090432
  • 群2:585567981