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

之前公司的一個項目使用SVN來做的版本控制,服務器設在我這臺電腦上。然後是出於某些原因,我的電腦IP變了多次,每變一次就要重新綁定靜態ip,甚是煩人。同時SVN這種集中式的版本控制服務在我關閉了我的電腦之後,其他小夥伴們就無法同步了。

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

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

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

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

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

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

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

bubuko.com,布布扣

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

bubuko.com,布布扣

⑷ 接着它會讓你選擇網盤上的需要同步的文件,我們勾選上之前新建的 git 文件夾,點擊“確定”按鈕即可:

bubuko.com,布布扣

自此你就完成了需要在百度網盤上的所有操作,我們打開 F:\gitbak 文件夾看看,會發現原本是空的文件夾下多了兩個文件:

bubuko.com,布布扣

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

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

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

裝好之後,我們打開項目文件所在的根目錄(比如我的項目根目錄是D:\VJProject ),右鍵並選擇“Git Init Here”,告知Git這個文件夾需要做版本控制,然後Git就會在該目錄下自動創建一個.git 文件夾用於放置版本控制信息:

bubuko.com,布布扣

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

bubuko.com,布布扣

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

bubuko.com,布布扣

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

bubuko.com,布布扣

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

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

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

bubuko.com,布布扣

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

bubuko.com,布布扣

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

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

bubuko.com,布布扣

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

bubuko.com,布布扣

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

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

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

 bubuko.com,布布扣

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

bubuko.com,布布扣

點“確定”後百度同步盤就會把我們之前同步到雲端的.git文件夾同步到當前電腦上:

bubuko.com,布布扣

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

bubuko.com,布布扣

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

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

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

bubuko.com,布布扣

bubuko.com,布布扣

你可以打開這個被克隆出來的文件夾,會發現項目文件都完好地拷貝在裏面了:

bubuko.com,布布扣

 

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

bubuko.com,布布扣

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

bubuko.com,布布扣

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

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

bubuko.com,布布扣

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

(三)協同合作

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

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

bubuko.com,布布扣

這一步僅僅是將遠端庫下載到我們本地,但並沒有更新我們的本地庫,我們還需要再點擊“合併”-“本地合併”,在彈出的窗口選擇跟蹤分支來合併遠端和本地的庫:

bubuko.com,布布扣

這時候你就可以順利上傳了(如果遠端庫有變動,而你沒有先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文件:

bubuko.com,布布扣

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

*.suo

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

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

如果你的項目文件不會超過1G且團隊成員小於5人,而且不怕超慢的連接速度的話,直接託管到Bitbucket上即可。

總而言之託管到網盤上也是一種新鮮好玩的做法,希望或多或少能給你一些小幫助,共勉~

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

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