Hexo多終端同步及發佈至Github

本文章首發於個人博客,歡迎點擊閱讀。

因爲有兩臺電腦的關係,很多東西都需要同步,一般文件比較小的會用Onedrive,文件比較大的比如Hexo會選擇用GitHub(主要貧窮的我只有5G的免費空間)。
相比於其它普通文件夾直接push就可以同步,這個就稍微麻煩一點,因爲整個文件夾裏有多個含有git的文件夾。
而在第一次直接把跟目錄push上去以後,甚至遇到了這個網站yueyue200830.github.io的github全部被覆蓋。
當時整個人內心都十分崩潰。。。

解決方法之概念

首先,我們需要了解一下hexo是如何push到github上的

在根目錄尋找一圈後,會發現有一個.deploy_git的文件夾,打開發現和github上面的文件完全一樣。
沒錯了,hexo就是直接編譯在這個文件夾生成文件,然後push到github上面。

然而,不要高興太早,如果單純的push爲什麼換電腦是覆蓋而不是有任何的conflict信息呢?

.deploy_git文件夾在打開git bash,輸入git remote -v,發現竟然什麼也沒有???

介於自己完全不熟練git命令,打開了外部有同步的文件夾同樣輸入git remote -v,是會得到以下顯示的
git remote命令
雖然不清楚發生了什麼(對不起,我就是一個git小白)。。但是可以知道我們git倉庫沒有github上面的信息
也就是每次hexo在deploy的時候,是直接把整個倉庫替換上去的(好粗暴呀。。)

而再去看一下整個項目的github,發麪默認的gitignore裏把.deploy_git添加上了。
也就是說同步的時候根本沒有任何之前發佈的信息,所以當換了一臺電腦的時候就會遇到如此崩潰的事情了。

解決方法之實際操作

既然.deploy_git和項目各會同步在我的github上,那麼與其取消ignore,不如在.deploy_git上添加遠程倉庫,每次更新前做一個同步。

.deploy_git文件夾的終端下輸入以下內容,讓其連接到github倉庫(注意在最後加上.git

$ git remote add origin https://github.com/yueyue200830/yueyue200830.github.io.git

這個時候,我們再輸入git remote -v,可以看到有信息了

再把remote和本地的進行一次同步:(應該用pull也可以)

$ git push origin master

這樣,我們就在本地同步與github同步成功了,只需要再另一臺電腦上也進行以下同步配置,之後每次換電腦的時候只需要兩個文件夾各同步一下就可以啦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章