這一篇將要來簡單介紹一下如何在 Team Foundation Service 使用 Git 做為版本控管的情況下,在一般的檔案總管內使用 TortoiseGit 來進行檔案的 Commit 與 Push。
2013-11-18 更新
在 2013-11-13 的 Visual Studio Launch 已經正式發表了「Visual Studio Online」的服務,Visual Studio Online 也就是這篇文章所說的 Team Foundation Service,並且公佈服務的收費方式,但仍然維持 Visual Studio Online Basic 的五人以下使用免費的方案,詳細內容可以查看以下文章:
VS2013 Preview 裡就可以看到已經預設使用 Git 來做為版本控管,如果公司沒有使用 SVN, TFS, GitHub 或者是自己沒有申請使用 Team Foudation Service 的情況下,就可以使用本地端的 Git 來做專案的版本控管,
以上是 VS2013 Preview 裡專案使用本地端 Git 做版本控管的操作內容,不過這一篇並不是要做 VS2013 Git 的介紹,這一篇則是要說明在 Team Foundation Service 使用 Git 後,如何在本機電腦裡使用 TortoiseGit 來存取檔案。
一、準備環境
首先,先在 Windows 裡安裝好 TortoiseGit 以及 msysgit,
TortoiseGit:https://code.google.com/p/tortoisegit/
msysgit:http://msysgit.github.io/
二、在 TFService 建立 Team Project
接著到 Team Foundation Service 建立一個新的 Team Project +Git
在「Create New Team Project」視窗裡的 Version control 項目選擇「Git」
TFService 建立 Team Project 需要一小段時間,
建立完成,點選下方的「Navigate to project」就可以進入到 Team Project,
三、準備 Commit 檔案
點選上方的「CODE」
進入到 repository 頁面,因為尚未 commit 任何檔案,所以就會顯示訊息,訊息裡也告訴我們這個 repository 的連結位置,可以讓我們使用 Git 執行 clone 動作,並且 commit 檔案,將這個連結位置給複製起來,
複製好連結位置後,開啟檔案總管然後選好一個地方,再來就是做 Git Clone 的操作,
接著在顯示的視窗裡貼上剛才所複製的連結位置,確認好內容後按下 OK,
然後就會問登入 TFService 的帳號、密碼
但最後卻是出現這樣內容
四、修改 TFService 的 My Profile 內容
回到 Team Foundation Service 頁面裡,然後點擊在右上角顯示登入名稱的地方,然後點選「My profile」
在出現的 USER PROFILE 視窗裡點選第三個「CREDENTIALS」項目,如下所示,
點選「Enable alternate credentials」,然後就會出現一些項目要填寫,
設定 User name (secondary) 以及 Password,密碼的部份我是設定跟 Windows Live ID 一樣的,因為我記性不好,太多密碼實在記不住,也可以設定跟 Windows Live ID 不一樣的密碼,設定完成後就按下右下方的「Save changes」就可以了。
五、重新執行 Git Clone 操作
再回到檔案總管裡重新執行一次 Git Clone 的操作,不過這一次再問起帳號密碼時就輸入剛剛所設定的 Credentials 內容,如果有設定 Secondary User Name 的話,可以輸入 Secondary User Name 而不用輸入 Windows Live ID 帳號,密碼的話就是輸入剛剛設定的 Password,輸入完成之後然後就開始進行 Git Clone,最後就可以看到以下 Success 的內容,
六、Commit
接著我們把要做版本控管的檔案給複製到剛剛 Git Clone 所建立的 ViewModelSample 目錄中,
在資料夾裡按下右鍵後點選「Git Commit -> “master”…」
如果你沒有在 TortoiseGit 裡設定 User Info 的話,會有提示告訴我們要做設定,設定完 User Info 之後,接這繼續做 Commit,
在 Commit 視窗裡,要輸入 Message 以及選擇要 Commit 的檔案,
輸入好 Message 以及選擇好要 Commit 的檔案之後就按下 OK,
可以看到完成了第一次的 Commit,
但這樣還不會把檔案送到 TFService 的 Team Project Repository 裡,如果確定這一次的更新要上到 TFService 的 Team Project Repository,就可以在上面的視窗裡點選「Push」
將 Commit 的內容 Push 到 TFService Team project Repository,
Push 完成
回到 Team Foundation Service 的網頁,重新整理 Team Project 的 Code 內容,就可以看到剛剛 Push 的檔案。
如此一來就完成了透過 TortoiseGit Commit 以及 Push 到 Team Foundation Service 的操作。
這一篇就講到這裡,至於在 Visual Studio 2012 裡面的使用其實就跟之前我們用 Team Foundation Version Control 差不多,在 Team Explorer 介面有些許的不同,
使用 Team Foundation Version Control 的 Team Explorer 首頁
使用 Git 的 Team Explorer
如果想要更加了解 Team Foudation Service 使用 Git 的資訊,可以到 Team Foundation Service 的 Learn 單元裡詳閱相關資料。
參考資料:
相關資訊:
Team Foundation Service - Visual Studio with Git
Customize Git settings in Visual Studio - Visual Studio ALM + Team Foundation Server Blog
Move a TFService source control to TF Service Git based Team Project
以上
這個棒
回覆刪除所以這情境的用法應該合適沒有 Visual Studio 來使用 TFService,可以很方便管理其他非 .NET 的專案,是吧。
回覆刪除是呀,以往如果讓使用 Windows 但不是程式開發人員,可以安裝 Power Tool 來解決,但是非 Windows 系統也不是程式開發人員(例如設計師),他們就可以使用 Git 來做版本控管了。
刪除有了 Git 之後,也可以把其他非 .NET 系統的專案也給納入管理,而不一定要使用 SVN 來做版控。