使用百度網盤+Git,把版本控制託管到雲端

以前公司的一個項目使用SVN來作的版本控制,服務器設在我這臺電腦上。而後是出於某些緣由,個人電腦IP變了屢次,每變一次就要從新綁定靜態ip,甚是煩人。同時SVN這種集中式的版本控制服務在我關閉了個人電腦以後,其餘小夥伴們就沒法同步了。git

因而乎也懶得去研究SVN是否支持遠程雲倉庫的方式來共享項目,轉投最近更火的Git。github

Git是個好東西啊,能夠直接remote到github的倉庫上,不就解決了鄙人的問題麼?不過github畢竟是開源的(除非你願意每月花幾美刀去把倉庫轉私有),總不肯意本身公司的項目源代碼隨便被別人搜索到和下載吧。緩存

因而乎便使用了一個最簡單的辦法——把版本控制服務(.git)託管到雲服務器(網盤)上!安全

下面來嘮嗑下實現的步驟。建議您先把本文所有看完一遍再動手嘗試,防止邏輯混亂。服務器

(一)首次將項目版本控制託管到雲網盤上svn

⑴ 首先你要在百度網盤這裏註冊個賬號:http://pan.baidu.com  ,即便你有本身的百度賬號了,依舊建議你從新註冊一個公共的賬號,畢竟項目的小夥伴們要一同使用這個百度賬號來同步.git的。fetch

註冊並激活以後,在網盤裏新建一個文件夾用於存放從此的同步文件,以下所示,我新建了一個叫 git 的文件夾:ui

⑵ 接着到 http://pan.baidu.com/download#pan 下載同步盤下載並安裝好百度同步盤後,用你註冊的百度賬號登陸,它會要你設置同步盤的位置,這裏你隨便選擇一個文件夾,注意不是你項目的文件夾。以下圖,我在F盤新建了一個gitbak文件夾來做爲同步文件夾:spa

⑷ 接着它會讓你選擇網盤上的須要同步的文件,咱們勾選上以前新建的 git 文件夾,點擊「肯定」按鈕便可:命令行

自此你就完成了須要在百度網盤上的全部操做,咱們打開 F:\gitbak 文件夾看看,會發現本來是空的文件夾下多了兩個文件:

其中.baoche.cache 文件夾是百度雲盤的數據文件夾,無需理會,而git是網盤從雲端同步到咱們電腦來的文件夾。只要咱們修改了git文件夾裏的內容,百度雲網盤就會第一時間更新到雲端。

搞定了百度雲盤,咱們要接着搗弄Git了,咱們續着上方步驟⑷接着講~

⑸ 沒安裝Git的朋友請先來 http://git-scm.com/download/ 下載並安裝Git,安裝方式很簡單,各類Next便可,只是殺毒軟件可能會詢問是否容許該軟件的操做,仍是得留心下防止被阻止了。

裝好以後,咱們打開項目文件所在的根目錄(好比個人項目根目錄是D:\VJProject ),右鍵並選擇「Git Init Here」,告知Git這個文件夾須要作版本控制,而後Git就會在該目錄下自動建立一個.git 文件夾用於放置版本控制信息:

⑹ 咱們依舊在該項目根目錄裏點擊右鍵,不過此次選擇的是「Git Gui」,它會打開Git圖形用戶操做界面,咱們選擇「編輯」-「選項...」:

在彈出的窗口輸入左右兩處用戶名和郵箱,再點擊保存便可。此處填寫的用戶信息能夠幫助咱們之後在修改項目文件時,知道是誰作的修改:

保存後咱們依次點擊「緩存改動」-「簽名」-「提交」,此舉是將改動所有保存到你本機上(項目根目錄的.git文件夾裏):

⑺ 咱們接着回到項目根目錄文件夾,依舊右鍵,選擇「Git Bash」進入命令行界面,輸入命令:

git clone --bare . F:/gitbak/git/VJ.git

該命令是將當前文件夾的.git庫拷貝到網盤同步文件夾F:/gitbak/git下,回車後以下所示:

此時咱們進入網盤同步文件夾F:/gitbak/git,會發現克隆成功(多了一個VJ.git文件夾):

該文件夾將做爲咱們遠程提交的庫(雖然它實際上是在咱們本機上的,算不上遠程,但別忘了它會被同步到百度雲網盤上),下一步咱們將在Git中添加該.git文件夾爲遠程倉庫。

⑻ 在項目根目錄右鍵選擇「git Gui」回到GUI主界面,咱們點擊「遠端」-「Add」:

在彈出的窗口輸入本機百度雲同步到的.git路徑信息:

(二)在其餘電腦上共享雲端的版本控制服務

經過上述的操做,咱們把Git的服務變相托管到百度雲網盤上,接着說說如何在其它電腦上共享這個服務。

⑴ 首先這臺電腦得安裝好Git,而後安裝好百度雲網盤,用以前註冊的那個共用的百度賬號登陸,而後選擇要存放和同步雲端文件的本機上的文件夾:

 

並選中網盤上已有的git文件夾:

點「肯定」後百度同步盤就會把咱們以前同步到雲端的.git文件夾同步到當前電腦上:

⑵ 在要放置項目文件的地方新建一個文件夾(本例咱們在G盤新建一個文件夾Project),而後在文件夾中點擊右鍵,選擇「Git Bash」:

在彈出來的命令行窗口輸入

git clone V:/gitSyn/git/VJ.git

而後回車。此舉會將項目文件都拷貝到咱們剛剛新建的文件夾去:

你能夠打開這個被克隆出來的文件夾,會發現項目文件都無缺地拷貝在裏面了:

 

⑶ 咱們試着隨便修改項目中的某個文件,而後在項目根目錄點右鍵,選擇「Git Gui」打開用戶界面,而後依次選擇「緩存改動」-「簽名」-「提交」-「上傳」:

上傳的時候直接點「上傳」按鈕便可,它會自動幫你更新到本機的網盤同步文件夾(V:\gitSyn\git)去,無須像以前那樣再點「遠端-Add」來添加遠端倉庫了:

注意「提交」按鈕是把改動提交到本機(項目文件夾),而「上傳」纔是把改動提交到遠端倉庫(百度網盤同步的文件夾)。你能夠依照改動需求屢次提交後再點上傳也無妨。

另外一點要注意的是,在新電腦上同步好遠端git庫後,要在gui上點擊「編輯」-「選項」,而後輸入這臺電腦的操做者:

這樣才方便之後查看版本變更信息時知道分別是由哪些小夥伴作的更改。

(三)協同合做

在上述的倆大步驟都完成後,咱們看下如何在Git協同工做。

在你平常修改好代碼後,請先點擊「遠端」-「從...獲取fetch」來更新遠端的庫,也許你的小夥伴們對這個項目也作了修改不是麼:

這一步僅僅是將遠端庫下載到咱們本地,但並無更新咱們的本地庫,咱們還須要再點擊「合併」-「本地合併」,在彈出的窗口選擇跟蹤分支來合併遠端和本地的庫:

這時候你就能夠順利上傳了(若是遠端庫有變更,而你沒有先fetch遠端,Git不會容許你提交的,從而避免版本衝突)。

(四)其它

⑴ 消除gui上的中文亂碼

在查看改動信息的時候(好比點「版本庫-圖示master分支的歷史」),若代碼上含有中文,在gitui上都會顯示爲亂碼。解決方法是打開Git的安裝目錄,而後找到 etc\gitconfig 文件,在裏面修改或者加入下述代碼:

[gui] encoding = utf-8 [i18n] commitencoding = gbk [svn] pathnameencoding = gbk

再用gui查看中文內容就不會出現亂碼了。

⑵ 無關文件不作版本控制

有時候有些文件雖然存放在項目中,但卻無需作版本控制,好比咱們上述例子中項目根目錄上的.suo文件,它是VS產生的用戶自定義配置記錄文件,僅對本機用戶有意義。

要讓Git不記錄這些文件的變更,咱們能夠在項目根目錄的.git文件夾中找到info/exclude文件:

用記事本打開它後在最後加上:

*.suo

保存便可,此舉告訴Git無需記錄任何.suo文件的改動。

固然有資源的公司和勤勞的你能夠自行搭建一臺服務器來託管項目,特別是當項目數據很是重要和敏感的時候,以物理隔離的方式放在局域網內無非是最安全的做法。

若是你的項目文件不會超過1G且團隊成員小於5人,並且不怕超慢的鏈接速度的話,直接託管到Bitbucket上便可。

總而言之託管到網盤上也是一種新鮮好玩的作法,但願或多或少能給你一些小幫助。最後感謝煙波君提供的指導~共勉~

相關文章
相關標籤/搜索