内容简介:Git 是用来做啥的?想必码农朋友都知道,Git 是版本控制软件,是软件开发过程中团队协作不可或缺的软件。但是,作为版本控制软件的 Git ,能跟聊天工具扯上关系吗?这二者似乎毫无关系,但脑洞大开的外国朋友 Ephi Gabay 就开发了一个这位哥们是用 Node.js 写了这么一个工具,将 Git 改装成后台数据库!更详细的,他其实是把每一句聊天作为 commit 的内容提交到仓库里!所以,执行 git log 时,可以看到完整的对话过程。想必当年 Linus 怎么也不会想到,他写的 Git 会这么被人改
Git 是用来做啥的?想必 码农 朋友都知道,Git 是版本控制软件,是软件开发过程中团队协作不可或缺的软件。
但是,作为版本控制软件的 Git ,能跟聊天 工具 扯上关系吗?这二者似乎毫无关系,但脑洞大开的外国朋友 Ephi Gabay 就开发了一个 GIC
,活生生将 Git 改造成了一个聊天工具,有了它你就可以跟女神亲密沟通了!
这位哥们是用 Node.js 写了这么一个工具,将 Git 改装成后台数据库!更详细的,他其实是把每一句聊天作为 commit 的内容提交到仓库里!所以,执行 git log 时,可以看到完整的对话过程。想必当年 Linus 怎么也不会想到,他写的 Git 会这么被人改造!
这个项目的地址如下:
https://github.com/ephigabay/GIC复制代码
下面良许带你一步步实现这个骚过程。
1. 创建一个仓库
因为整个聊天的过程,其实就是不停在提交的过程,所以我们需要创建一个仓库。这个仓库,肯定不能是你现在工作用的仓库,否则你之前的工作过程就全玩完了。
仓库的创建不难吧?这里简单演示一下:
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 平台的话,安装过程可以使用以下命令:
sudo apt-get install git nodejs npm复制代码
如果是其它平台,请参照各自平台的安装指导手册。
然后,我们需要将 GIC 这个项目拷到自己的电脑上,如下:
git clone https://github.com/ephigabay/GIC GIC复制代码
等 GIC 完整拷备到电脑上后,我们进入到目录里并安装一些依赖文件:
cd GIC npm install复制代码
这个安装过程可能要花费一些时间,静静等待即可。
3. 配置 GIC
对于 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复制代码
如果上面那步没报错的话,说明你所配置的路径就是正确的。
接下来,我们就可以正式开始和女神聊天了。
4. 使用 Git 开始聊天
开始聊天时,我们可以在 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复制代码
5. 退出聊天
有两种方法:
-
按一下 Esc ,再按 ctrl+C
-
执行以下命令:
sudo kill `pgrep npm`复制代码
码字不易,如果您觉得有帮助,麻烦点个赞再走呗~
-----------------
我是良许, 世界500强 外企 Linux 开发工程师,专业生产 Linux 干货。欢迎关注我的公众号「 良许Linux 」,回复「 1024 」获取最新最全的技术资料,回复「 入群 」进入高手如云技术交流群。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 用Python解读“女神大会”,直男心目中的女神是这样的~
- 决胜圣诞,女神心情不用猜!
- 炫酷粒子表白 | 听说女神都想谈恋爱了!
- 实力与颜值齐飞!这里的 IT 女神不得了!
- 用Python分析“女神大会”,码农最想娶的女星竟然是......
- 啥!动态规划还能用来买股票?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JAVA语言规范(英文版,第3版)
戈斯林 / 机械工业 / 2006-4 / 79.00元
本书由“java之父”Jame Gosling 以及另外三位顶级大师撰写而成,无论是对java语言的初学者还是专业程序员都具有极高的价值,是关于java程序设计语言最权威的技术参考书。 本书侧重于java技术细节和内幕,全面,准确,详尽地介绍了java语言及其语法,论述了java编译器所要检查的语法和java运行模式的各个方面,同时还描述了java语言最重要的新特征。一起来看看 《JAVA语言规范(英文版,第3版)》 这本书的介绍吧!