Visual Studio - 將Source Code簽入到Git ( Local篇 )
隨著時代的進步,Source Code已經不再是存放到硬碟這樣的單純;要如何返回到前一個版本,如何從改爛的Code裡面救回來,就變成一個很重要的課題。
早期,除了小烏龜外,還有整個超完善的TFS,而隨著時代的演進,Git的地位也越來越重,更是Open Source屆的首席版控軟體,而隨著Visual Studio的進化,到了UPDATE 2後,更Visual Studio也開始支援Git了!!
當然,開始之前,要先升級到Visual Studio 2012 Update 2,然後再去下面著個網址下載Visual Studio Tools for Git。
p.s (補充:這邊只安裝了Visual Studio的接口,讓Visual Studio去控制Git命令,但如果Local沒有裝Git,則還是會沒辦法運作,有興趣的人,可以直接裝GitHub for Windows 或是 Gir for Windows)
http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c
如果懶得打網址,也可以從Visual Studio的擴充功能中找到。
但不管是怎樣找到,基本上還是會下載一個Microsoft.TeamFoundation.Git.Provider.msi檔案,當然,我們只要按兩下就可以開始安裝了。
然後急速的安裝,這樣就完成了。
開始本地端的簽入
在開始前,要先提醒一下大家,Git的版控機制和TFS是有點差異的。Git是分散式的版控,簡單來說,版控系統無所不在!!,我們在Local會有一套版控系統,我們會把Code簽入到Local端,也就是說,本機上面就有版本控制的功能,而當撰寫得差不多時,再同步到遠端( 例如GitHub上,GitHub也是每帳號一套和Local架構一樣的版控系統,只是放在GitHub的主機上 ),而這塊就和小烏龜或是TFS有點差異,小烏龜和TFS則必須要連線後( 也就是集中式的 ),才能進行版本控制的簽入動作;但Git則是分散式的。
所以我們可以想成這樣,利用Git可以在本地端進行簽入簽出,當完成後,在同步一份GitHub,而TFS和小烏龜,則必須要連線到Server後才能簽入簽出。
了解之後,我們就試著把第一個專案,簽入到Local的Git裡。
我們首先先開啟一個舊的專案 ( 也可以建立一個新的專案 ),然後從方案總管那邊,準備把整個方案加入至原始檔控制。
接下來,因為我們要使用Git,所以要選擇Git。
很快的Git Repository就已經建立完成了 ( 這裡的Repository指的是Git存放的地方,通常簡稱Repo )。
接下來,我們一樣可以從方案總管找到Commit的選項,按下去後,就可以順利簽入到Local端的版本控制。
接下來,就會跳到Team Explorer視窗,我們可以輸入一下註解,並且在Included Changes這邊確認,那些要簽入,如果有不要簽入的檔案,例如Packages整個目錄,就可以從Included Changes的視窗拖到Excluded Changes那邊。( 不簽入Packages的原因是因為使用了NuGet的自動還原機制,所以Packages就不用刻意簽入了,此外,如果有類似bin的目錄,也記住不要簽入喔。 )最後,按下Commit就可以順利簽入了。
完成後,就和一般的TFS圖示沒兩樣了。
到這邊,本地端的簽入就算完成了!!
我們下一篇,開始介紹,如何同步到遠端!!
後記
整個Git的架構和一般的TFS還有小烏龜是完全不同的,所以在使用上,雖然有UI的協助,但還是建議去看看指令的操作,這樣會比較容易了解整個架構喔!!
參考資料
- http://www.hanselman.com/blog/GitSupportForVisualStudioGitTFSAndVSPutIntoContext.aspx
- http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx
- http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c
- http://www.dotnetcurry.com/ShowArticle.aspx?ID=879