Git 是用來作啥的?想必碼農朋友都知道,Git 是版本控制軟件,是軟件開發過程當中團隊協做不可或缺的軟件。node
可是,做爲版本控制軟件的 Git ,能跟聊天工具扯上關係嗎?這兩者彷佛毫無關係,但腦洞大開的外國朋友 Ephi Gabay 就開發了一個 GIC
,活生生將 Git 改形成了一個聊天工具,有了它你就能夠跟女神親密溝通了!git
這位哥們是用 Node.js 寫了這麼一個工具,將 Git 改裝成後臺數據庫!更詳細的,他實際上是把每一句聊天做爲 commit 的內容提交到倉庫裏!因此,執行 git log 時,能夠看到完整的對話過程。想必當年 Linus 怎麼也不會想到,他寫的 Git 會這麼被人改造!github
這個項目的地址以下:數據庫
https://github.com/ephigabay/GIC
下面良許帶你一步步實現這個騷過程。npm
由於整個聊天的過程,其實就是不停在提交的過程,因此咱們須要建立一個倉庫。這個倉庫,確定不能是你如今工做用的倉庫,不然你以前的工做過程就全玩完了。工具
倉庫的建立不難吧?這裏簡單演示一下:ui
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 。版本控制
若是是 Ubuntu 平臺的話,安裝過程能夠使用如下命令:code
sudo apt-get install git nodejs npm
若是是其它平臺,請參照各自平臺的安裝指導手冊。orm
而後,咱們須要將 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
有兩種方法:
sudo kill `pgrep npm`
公衆號:良許Linux