我也是混亂了同步盤和網盤


 

我們經常聽到“網盤”這一名詞,我們以為“網盤”顧名思義是網絡U盤/網絡硬盤,將資料備份儲存的網上空間,然而這只是“備份網盤”的含義。嚴格來說,網盤應該分為“備份網盤”和“同步網盤”,大部分人通常會將“備份網盤”與“同步網盤”混為一談。

同步網盤不僅具備網盤功能,其最大的特點為“同步”而非“備份”。同步網盤的意思即,在電腦A里安裝軟件后,在同步文件夾內的任何文件只要有更新或修改,會被自動上傳到雲端(不需手動上傳),當電腦B也安裝此軟件時,在電腦A上自動上傳到雲端的文件會被自動下載到電腦B的同步文件夾中。移動設備亦然。

 

基於同步網盤的特點,越來越多人將其應用在工作上,取代傳統文件管理方式。回應題主的問題,為什么百度雲、360雲盤等都取消了同步盤功能?這個問題其實也是很多用戶的疑問,因為用戶的習慣,運營成本,市場環境等都是影響的因素。

 

而市場上較為主流的同步盤就剩下微雲,堅果雲,天翼雲,OneDrive,Dropbox 和 Google Drive)了。

DIY 同步盤  Syncthing 

運行 Syncthing

下載 Syncthing 后,直接運行 syncthing 即可,非常簡單。桌面端會自動彈出配置頁面,一般為 http://127.0.0.1:8384/ 支持 HTTPS 連接。

https://www.iplaysoft.com/syncthing.html
https://baijiahao.baidu.com/s?id=1595264701890404221&wfr=spider&for=pc
 
 
將GIT和Ondrive 一起用,避免同步盤的同步問題
 

IT之家學院:使用微軟OneDrive DIY免費私有Git倉庫

http://autchen.github.io/guides/2016/03/10/git-onedrive.html

2017-12-13 15:11:35來源:IT之家作者:南 小鳥責編:文軒評論:114

Git簡介

Git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目,無論是在軟件開發還是個人領域,Git被廣泛地用來管理代碼和版本控制。而著名的GitHub是一個面向開源及私有軟件項目的托管平台,因為只支持git作為唯一的版本庫格式進行托管,故名GitHub。

對於個人開發者、編程愛好者或學生群體來說,像GitHub等開源托管平台固然是存放個人代碼的首選,但是在某些時候,可能我們並不希望自己存儲在雲端的代碼開源(或代碼中包含敏感信息不方便開源),雖然GitHub等托管平台也提供私有庫托管服務,但這些服務一般都需要收費,能否自己DIY一個免費私人Git倉庫呢?筆者發現Windows10上的Onedrive就能輕松滿足我們的需求。下面筆者就以Visual Studio 2017為例(其他IDE原理類似),構建一個可以進行遠程推送和拉取的私有Git倉庫。

工具准備

  • Visual Studio 2013及以上版本

  • Git for Windows官方下載地址:點擊這里

  • 帶有Onedrive並能正常自動同步的Windows 10

具體步驟

首先我們需要在Visual Studio的GitHub插件。打開Visual Studio,在【工具】-【擴展和更新】-【聯機】中窗口右上角搜索框內輸入“GitHub”查找“GitHub Extension for Visual Studio”這個擴展插件並下載安裝。

安裝后需要重啟Visual Studio,之后就可以在【已安裝】中看到這個插件。或者,在Visual Studio 2015和2017版本的安裝程序中,直接勾選這個插件安裝。

插件安裝后就可以在【視圖】-【團隊資源管理器】中打開GitHub管理工具。

現在我們創建一個演示解決方案,注意勾選“為解決方案創建目錄”和“新建GIT存儲庫”。

需要注意的是,這里的“新建GIT存儲庫”是指本地GIT倉庫。並非我們將要把代碼push(推送)出去的遠程倉庫。

接下來安裝Git for Windows這個工具,安裝步驟在我們這里沒那么多講究,下載后全程下一步就好,在此不再贅述。安裝后就能看到這個工具

現在我們需要構建一個遠程倉庫,筆者已經習慣Bash了,就用Git Bash來說明。利用OneDrive目錄自動同步的特性,我們可以構建一個遠程倉庫。首先我們在OneDrive下新建一個目錄作為遠程倉庫目錄DemoRepo。

之后運行Git Bash,使用cd命令切換工作目錄到剛剛建的DemoRepo下:

$ cd OneDrive/PrivateRepos/DemoRepo

然后使用git init命令將目錄初始化為git倉庫:

$ git init

之后使用ls -al命令就會發現多了一個.git目錄,說明git倉庫初始化完成。

現在這個倉庫僅僅是最簡單的倉庫。我們要對這個git倉庫做一些配置,才能成為我們想要的“遠程倉庫”。

使用vim編輯器修改./git下的config配置文件:

$ vim .git/conf

按i進入編輯模式,

加上如下字段,然后按【ESC】退出編輯模式,wq!保存並推出:

[receive]          DenyCurrentBranch = ignore

如下圖:

TIP:若以上步驟未做,在提交代碼時會報錯。

之后我們需要配置自動監視腳本,事實上並不需要我們自己寫這個腳本,只需要啟用就可以。使用cd命令進入..git/hooks目錄下:

$ cd hooks

現在我們看到了很多后綴為sample的腳本,啟用腳本只需要將文件名后的sample去掉就行。這里我們需要用mv命令重命名post-update.sample文件,如下圖:

$ mv post-update.sample post-update

之后再次使用vim編輯器,編輯post-update腳本,使用#注釋掉exec git update-server-info這行,然后在后面加上下面的代碼保存:

unset GIT_DIR
cd .. git checkout -f

TIP:注意cd和..之間有空格。

TIP:若以上步驟未做,可以正常推送代碼到這個倉庫,但在該目錄下無法看到文件。

現在遠程倉庫也完成了,我們試着寫幾行代碼推送出去。在IDE的右下角有一個箭頭圖標和一個鉛筆圖標,點擊鉛筆圖標即可推送代碼到本地git倉庫。

輸入提交日志后就可以提交代碼了,下面列出了本次更改的文件。

提交成功后會提示你需要將代碼同步到遠程倉庫,但是我們還沒有在IDE里指定要推送的遠程倉庫目錄。

現在回到【團隊資源管理器】的主頁,單擊【設置】配置遠程存儲庫。

選擇【存儲庫設置】。

添加遠程。

這里的遠程origin名要與之前配置的一致,這里為“origin”,然后將提取和推送的目錄指定為剛才已經配置好的遠程庫目錄。

完成。

現在點擊右下角的箭頭圖標,將代碼從本地git庫推送到遠程git庫。

同步完成。

在.git目錄下可以查到之前的推送日志和已經同步來的源文件。

最后我們就可以在另一台登錄了自己OneDrive的電腦上將這個遠程的倉庫克隆下來了,操作方法同樣是打開【團隊資源管理器】,然后選擇【克隆】,指定源路徑(OneDrive上)和本地路徑,最后點擊【克隆】就行。

總結

最后總結一下實現的思路。我們利用了OneDrive兩個重要的特性:一是目錄可以自動同步——意味着我們只要把git倉庫放到OneDrive同步目錄下,就能自動同步到雲端;二是OneDrive目錄又可以像本地目錄一樣直接使用cmd、bash等對其進行操作,因此我們又能輕易將其初始化為git倉庫(這點很關鍵,想象一下,你想把度娘雲盤上的目錄用bash初始化為git倉庫,在不開通超級會員的情況下這是不能實現的)。我簡單畫了個草圖來描述這個過程:

由於本地OneDrive目錄會自動和雲端同步,因此這個圖等效為直接將本地git庫同步到了雲端,實現了免費的私有git倉庫。事實上,只要OneDrive端遠程倉庫構建好之后,無論使用何種IDE,都可以實現整個過程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM