Visual Studio Online 版控
影片可參考保哥的教學:
一、使用Visual Studio Online
首先連上http://www.visualstudio.com,點選「產品/Visual Studio Online/Visual Studio Online Basic」:
點選「立即取得Visual Studio Online Basic」:
建立自訂帳號:
二、建立儲存庫
先連上自己的Visual Studio Online專案:
https://[你的id].visualstudio.com
點選「new」:
輸入專案名稱,版本控制記得選取「Git」,再按「Create Project」,這樣遠端專案就建立完成了:
接下來要建立本機的專案!
點選「Open with Visual Studio to Connect」就會自動開啟本機的Microsoft Visual Studio 2013 程式:
輸入您Microsoft帳號:
接著請您自行新增一個空白專案,假設此方案名稱是「WebApplication1」:
由於Visual Studio 預設有兩種版控,我們要選GIT,請點選「工具/選項/Source Control」,並選取「Microsoft Git 提供者」:
接下來我們就能開始使用GIT版控囉!在剛才新增的WebApplication1方案按右鍵選
「將方案加入至原始檔控制」:
你可以開啟WebApplication1專案所在目錄,就能看到出現.git資料夾,
表示專案已加入Git控制:
「將方案加入至原始檔控制」就是執行git init
記得版控要選「GIT」啊:
PS.處理斷行字元問題
新專案
接下來有一個很重要的問題要解決,就是Visual Studio Tools for Git 處理斷行字元 (CRLF) 的問題,會導致
你在使用不同版控軟體,如Git for Windows 或 TortoiseGit 會造成檔案狀態不一致性,詳細請
參考這裡
及這裡
解決方式如下:
- 檢查是否有 .gitattributes 檔
- 刪除.git\ms-persist.xml
- 執行指令,設定自動轉換斷行符號:
git config --global core.autocrlf true
git config --global core.safecrlf true
舊專案
如果你的專案已經做git版控一段時間了,你一直因為斷行問題,造成不同版控軟體無法讓檔案狀態有一致性時,怎麼辦呢?
通常會遇到這個問題,就是你目前工作區的檔案斷行字元可能有LF也有CRLF,此時要怎麼解決呢?
請參考5.5解決斷行問題
三、將專案加入GIT版控
剛才建好的專案並沒有加入控制,怎麼加入呢?首先開啟「檢視/Team Explorer」:
出現「Team Explorer」功能頁籤,這個頁籤很重要喔!接下來的版控操作全部在此功能頁籤處理:
在使用版控前,先做GIT設定。點選「設定/Git設定」,輸入您的使用者名稱、電子郵件、儲存位置後,按「更新」:
設定完成後,就可以做版本提交(Commit)了,點選「變更」,接著輸入提交訊息後按「認可」:
這樣就完成版本提交了。
Visual Studio的「認可」,就是我們常說的提交(Commit)
所以按下「認可」其實就是git commit指令
四、連接遠端專案
剛才做的版控都在本地進行,如果要上傳至Visual Studio Online怎麼做呢?
接下來這個步驟是重點!如何將本地WebApplication1與遠端test儲存庫建立連結
呢?
首先上Visual Studio Online網站,點選test專案的code後,將此專案的git路徑複製下來:
接著至「Team Explorer」頁籤點選「未同步處理的認可」,將網址貼上,並按「發行」,這樣就能和遠端專案建立連結了:
此動作就是 git remote add origin [遠端git路徑]
同時也一併成功將檔案上傳至Visual Studio Online了:
此動作就是 git push origin master
五、提交(Commit)新的版本
再來就要開始修改程式碼了...coding...coding...
假設我在專案裡新增一個WebForm1.aspx檔案:
接著準備提交一個新的版本,點選「變更」,輸入提交訊息後,按「認可」:
如此就完成本地版本提交。
再來要將此版本上傳至遠端,點選「未同步處理的認可」,按下「同步處理」就完成了:
此動作Visual Studio會自行判斷,若遠端沒有最新版本則「同步」動作就是 git push
若遠端有更新的版本,則「同步」動作就是先git pull ,後git push
同步完成後,上Visual Studio Online網站,點選「CODE/Commits」就可以看到最新提交了:
六、建立分支
要建立新的分支,可點選「分支/新分支」後,輸入分支名稱再按「建立分支」:
不勾選「簽出分支」就是git branch feature
勾選「簽出分支」就是git checkout -b feature
這樣本地
就成功建立feature分支了,但遠端還沒有這個新分支啊!只要在feature分支
按右鍵選「發行分支」,可以建立遠端feature分支了:
觀察一下,目前我們所在的分支是feature分支,請在此分支隨便修改一些程式碼,
接著來做提交動作:
本地完成提交後,接著將feature分支提交的版本上傳至遠端:
七、分支合併
feature分支開發好之後,再來要做的就是合併回master分支。
首先點選「分支」將feature分支改成master,這樣就完成切換分支
了:
此動作就是 git checkout master
切換至master後,再來要將feature合併進來。點選「分支/合併」,來源分支選「feature」後,按「合併」:
此動作就是 git merge feature
八、刪除分支
要將分支刪除,首先在發行的分支
的feature按右鍵選「取消發行分支」
,讓此分支從遠端卸除:
接著在取消發行的分支
選feature按右鍵選「刪除」:
然後同步至遠端即可:
上Visal Studio Online檢查一下,就看不到feature分支了。
九、複製遠端儲存庫
如果你的專案要多人同時作業,那麼其他開發者就必須將專案複製(clone)至個別電腦裡
Visual Studio Online有做權限管理,所以不是隨便一個人都能讀取遠端儲存庫,
因此我們要先在test專案設定權限:
在專案管理者(kingofamani)端設定:
首先在Visual Studio Online進入test專案,點選右邊「Members/Manager...」,
接著選取「Add/Add user...」
輸入第二個工程師(kingofamani2)的Microsoft帳號,這樣就能存取test專案了:
在第二個工程師(kingofamani2)端設定:
現在第二個工程師(kingofamani2)要加進來專案一起開發,首先他先開啟Visual Studio 2013,
接著也是點選「連接到Team專案...」圖示,再點「選取Team專案...」,
選「伺服器」,此時要輸入專案管理者(kingofamani)的online專案:
(記得要輸入專案管理者(kingofamani)的online專案網址)
接著系統會提示您(kingofamani2)登入:
然後選取test專案:
按下「複製這個儲存機制」:
選好儲存位置後,按「複製」即可:
此動作就是 git clone
底下方案名稱連點2下,即可開啟:
如果要限制第二個工程師的權限,怎麼做呢?
在專案管理者(kingofamani)端設定:
點選右上角設定圖示:
點選「Overview」,再選取專案Team名稱:
點選「Security」,選取第二個工程師後,右邊權限就能設定了,
假設我想禁止「刪除專案」的權限,只要將「Delete team project」設成「Deny」,
再按「Save changes」即可:
在第二個工程師(kingofamani2)端設定:
回到第二個工程師的電腦上,此時上網連至專案管理者的Visual Studio Online專案裡,
想要點選刪除專案,結果當然不能囉!
十、刪除遠端專案
如果Visual Studio Online想刪除專案怎麼做?步驟有點麻煩,先點選右上角設定圖示:
點選「DefaultCollection」:
在test專案點右鍵按「刪除」: