Git 是用来作啥的?想必码农朋友都知道,Git 是版本控制软件,是软件开发过程当中团队协做不可或缺的软件。node
可是,做为版本控制软件的 Git ,能跟聊天工具扯上关系吗?这两者彷佛毫无关系,但脑洞大开的外国朋友 Ephi Gabay 就开发了一个 GIC
,活生生将 Git 改形成了一个聊天工具,有了它你就能够跟女神亲密沟通了!git
这位哥们是用 Node.js 写了这么一个工具,将 Git 改装成后台数据库!更详细的,他实际上是把每一句聊天做为 commit 的内容提交到仓库里!因此,执行 git log 时,能够看到完整的对话过程。想必当年 Linus 怎么也不会想到,他写的 Git 会这么被人改造!github
这个项目的地址以下:数据库
https://github.com/ephigabay/GIC复制代码
下面良许带你一步步实现这个骚过程。npm
由于整个聊天的过程,其实就是不停在提交的过程,因此咱们须要建立一个仓库。这个仓库,确定不能是你如今工做用的仓库,不然你以前的工做过程就全玩完了。bash
仓库的建立不难吧?这里简单演示一下:工具
mkdir gitchat
cd gitchat
git init
echo "chat logs" > README
git add README
git commit -m 'fist commit'复制代码
既然 GIC 是基于 Git 的,那么 Git 确定是须要安装的。并且 GIC 是使用 Node.js 编写的,因此须要安装 nodejs 。后面咱们还须要用到 npm 命令,因此咱们还须要安装一个 npm 。ui
若是是 Ubuntu 平台的话,安装过程可使用如下命令:spa
sudo apt-get install git nodejs npm复制代码
若是是其它平台,请参照各自平台的安装指导手册。.net
而后,咱们须要将 GIC 这个项目拷到本身的电脑上,以下:
git clone https://github.com/ephigabay/GIC GIC复制代码
等 GIC 完整拷备到电脑上后,咱们进入到目录里并安装一些依赖文件:
cd GIC
npm install复制代码
这个安装过程可能要花费一些时间,静静等待便可。
对于 GIC 咱们只须要配置第 1 步所建的那个仓库路径便可,须要编辑 config.js 文件的 gitRepo 字段:
module.exports = {
gitRepo: '/home/pi/tests/gitchat/.git', #配置你的聊天仓库路径
messageCheckInterval: 500,
branchesCheckInterval: 5000
};复制代码
在正式开始聊天以前,咱们先试一下配置是否正确:
git clone --quiet /home/pi/tests/gitchat/.git > /dev/null复制代码
若是上面那步没报错的话,说明你所配置的路径就是正确的。
接下来,咱们就能够正式开始和女神聊天了。
开始聊天时,咱们能够在 GIC 目录里使用如下命令启动聊天:
npm start复制代码
以后,你就会看到一个文字版的聊天窗口了。左边就是聊天内容,右边是分支。不一样的分支就是不一样的通道,至关于不一样的聊天室,里面的聊天内容也是不一样的。
可是,请注意,若是仓库里你当前所在的分支是 master 分支,那么你就不能在这个分支里聊天,要切到其它分支聊天,不然会报错。
若是要多人聊天的话,每一个用户只需进到 GIC 目录,而后执行 npm start
命令便可参与聊天。
前面说了,这个聊天的过程实际上是依托 git log ,因此咱们在 git log 里能够看到完整的聊天记录:
pi@raspberrypi:~/tests/gitchat $ git log --pretty=format:"%p %cn %s" dev
371a477 evis hao a, wanshange jiu qu!
b6cc4ae alvin yan wo ye hen hao, yao bu yao qu gongyuan zouzou?
7bfea8f evis fine, good, and you?
017d82f alvin yan hello evis, how are you?
alvin yan init commit复制代码
有两种方法:
按一下 Esc ,再按 ctrl+C
执行如下命令:
sudo kill `pgrep npm`复制代码
码字不易,若是您以为有帮助,麻烦点个赞再走呗~
-----------------
我是良许,世界500强外企 Linux 开发工程师,专业生产 Linux 干货。欢迎关注个人公众号「良许Linux」,回复「1024」获取最新最全的技术资料,回复「入群」进入高手如云技术交流群。