前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用 Git 做这事,脑洞真大

用 Git 做这事,脑洞真大

作者头像
佛系编程人
发布2019-08-14 11:38:13
3440
发布2019-08-14 11:38:13
举报
文章被收录于专栏:佛系编程人

Git 是用来做啥的?想必码农朋友都知道,Git 是版本控制软件,是软件开发过程中团队协作不可或缺的软件。

但是,作为版本控制软件的 Git ,能跟聊天工具扯上关系吗?这二者似乎毫无关系,但脑洞大开的外国朋友 Ephi Gabay 就开发了一个 GIC ,活生生将 Git 改造成了一个聊天工具,有了它你就可以跟女神亲密沟通了!

这位哥们是用 Node.js 写了这么一个工具,将 Git 改装成后台数据库!更详细的,他其实是把每一句聊天作为 commit 的内容提交到仓库里!所以,执行 git log 时,可以看到完整的对话过程。想必当年 Linus 怎么也不会想到,他写的 Git 会这么被人改造!

这个项目的地址如下:

代码语言:javascript
复制
https://github.com/ephigabay/GIC

下面良许带你一步步实现这个骚过程。

1. 创建一个仓库

因为整个聊天的过程,其实就是不停在提交的过程,所以我们需要创建一个仓库。这个仓库,肯定不能是你现在工作用的仓库,否则你之前的工作过程就全玩完了。

仓库的创建不难吧?这里简单演示一下:

代码语言:javascript
复制
mkdir gitchat
cd gitchat
git init
echo "chat logs" > README
git add README
git commit -m 'fist commit'
2. 安装 GIC

既然 GIC 是基于 Git 的,那么 Git 肯定是需要安装的。而且 GIC 是使用 Node.js 编写的,所以需要安装 nodejs 。后面我们还需要用到 npm 命令,所以我们还需要安装一个 npm 。

如果是 Ubuntu 平台的话,安装过程可以使用以下命令:

代码语言:javascript
复制
sudo apt-get install git nodejs npm

如果是其它平台,请参照各自平台的安装指导手册。

然后,我们需要将 GIC 这个项目拷到自己的电脑上,如下:

代码语言:javascript
复制
git clone https://github.com/ephigabay/GIC GIC

等 GIC 完整拷备到电脑上后,我们进入到目录里并安装一些依赖文件:

代码语言:javascript
复制
cd GIC
npm install

这个安装过程可能要花费一些时间,静静等待即可。

3. 配置 GIC

对于 GIC 我们只需要配置第 1 步所建的那个仓库路径即可,需要编辑 config.js 文件的 gitRepo 字段:

代码语言:javascript
复制
module.exports = {
    gitRepo: '/home/pi/tests/gitchat/.git', #配置你的聊天仓库路径
    messageCheckInterval: 500,
    branchesCheckInterval: 5000
};

在正式开始聊天之前,我们先试一下配置是否正确:

代码语言:javascript
复制
git clone --quiet /home/pi/tests/gitchat/.git > /dev/null

如果上面那步没报错的话,说明你所配置的路径就是正确的。

接下来,我们就可以正式开始和女神聊天了。

4. 使用 Git 开始聊天

开始聊天时,我们可以在 GIC 目录里使用以下命令启动聊天:

代码语言:javascript
复制
npm start

之后,你就会看到一个文字版的聊天窗口了。左边就是聊天内容,右边是分支。不同的分支就是不同的通道,相当于不同的聊天室,里面的聊天内容也是不同的。

但是,请注意,如果仓库里你当前所在的分支是 master 分支,那么你就不能在这个分支里聊天,要切到其它分支聊天,否则会报错。

如果要多人聊天的话,每个用户只需进到 GIC 目录,然后执行 npm start 命令即可参与聊天。

前面说了,这个聊天的过程其实是依托 git log ,所以我们在 git log 里可以看到完整的聊天记录:

代码语言:javascript
复制
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
5. 退出聊天

有两种方法:

  1. 按一下 Esc ,再按 ctrl+C
  2. 执行以下命令:
代码语言:javascript
复制
sudo kill `pgrep npm`
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 佛系编程人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建一个仓库
  • 2. 安装 GIC
  • 3. 配置 GIC
  • 4. 使用 Git 开始聊天
  • 5. 退出聊天
相关产品与服务
Prowork 团队协同
ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档