Git 是用來作啥的?想必碼農朋友都知道,Git 是版本控制軟件,是軟件開發過程當中團隊協做不可或缺的軟件。node
可是,做爲版本控制軟件的 Git ,能跟聊天工具扯上關係嗎?這兩者彷佛毫無關係,但腦洞大開的外國朋友 Ephi Gabay 就開發了一個 GIC
,活生生將 Git 改形成了一個聊天工具,有了它你就能夠跟女神親密溝通了!git
這位哥們是用 Node.js 寫了這麼一個工具,將 Git 改裝成後臺數據庫!更詳細的,他實際上是把每一句聊天做爲 commit 的內容提交到倉庫裏!因此,執行 git log 時,能夠看到完整的對話過程。想必當年 Linus 怎麼也不會想到,他寫的 Git 會這麼被人改造!程序員
這個項目的地址以下:github
https://github.com/ephigabay/GIC複製代碼
下面良許帶你一步步實現這個騷過程。面試
由於整個聊天的過程,其實就是不停在提交的過程,因此咱們須要建立一個倉庫。這個倉庫,確定不能是你如今工做用的倉庫,不然你以前的工做過程就全玩完了。數據庫
倉庫的建立不難吧?這裏簡單演示一下:npm
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 平臺的話,安裝過程可使用如下命令:工具
sudo apt-get install git nodejs npm複製代碼
若是是其它平臺,請參照各自平臺的安裝指導手冊。學習
而後,咱們須要將 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學習路線圖,因而我根據本身的經驗,利用業餘時間熬夜肝了一個月,整理了一份電子書。不管你是面試仍是自我提高,相信都會對你有幫助!目錄以下:
免費送給你們,只求你們金指給我點個贊!
也但願有小夥伴能加入我,把這份電子書作得更完美!
推薦閱讀: