工欲善其事,必先利其器。
作為一名開發人員,你不可能不知道git,無論你是開發自己的開源專案還是和團隊一起進行大規模產品的開發,git都已經是原始碼管理工具的首選。當然,那些hardcore developer會說,command line才是最好的工具,但並不是所有的時候command line都是高效的(不服?在command line裡面做個compare試試你就知道了)。小編日常用的最多的也是command line,但是總還是會把幾個好用的GUI Git客戶端放在手邊備著。
獨立客戶端工具
GitHub for Desktop
全球開發人員交友俱樂部提供的強大工具,功能完善,使用方便。對於使用GitHub的開發人員來說是非常便捷的工具。介面乾淨,用起來非常順手,上面的這條timeline非常漂亮,也可以直接提交PR。
唯一讓我失望的是GitHub for Desktop不帶三方合併工具,你必須自己手動解決衝突才可以。
– 免費
– 同時支援 Windows 和 Mac:對於需要經常在不同的作業系統間切換的開發人員來說非常方便。
– 漂亮的介面:作為每天盯著看的工具,顏值是非常重要的
– 支援Pull Request:直接從客戶端提交PR,很方便
– Timeline 支援:直接在時間線上顯示每次提交的時間點和大小
– 支援git LFS:儲存大檔案更加節省空間和高效
– 不支援三方合併:需要藉助第三方工具才行
Source Tree
SourceTree是老牌的Git GUI管理工具了,也號稱是最好用的Git GUI工具。我的體驗是確實強大,功能豐富,基本操作和高階操作都設計得非常流暢,適合初學者上手。
這個工具很有特色的一個功能就是支援Git Flow,你可以一鍵建立Git Flow的工作流。Git Flow是非常高效的團隊協作模型和流程,Git的一大特色就是靈活輕量的分支,但如何在自己的團隊中用好這個功能來匹配自己的研發流程是個問題。內建Git Flow讓那些不太熟悉的開發人員也可以很快上手,並且將研發的業務流程固化在工具中,可以說是非常貼心的設計。
在 Windows 環境下,SourceTree是多語言的,但是不知道為什麼我的Mac版總是顯示英文。
– 免費
– 功能強大:無論你是新手還是重度使用者,SourceTree 都會讓你覺得很順手。對於非常重度使用者,Source Tree還支援自定義指令碼的執行。
– 同時支援 Windows 和 Mac 作業系統
– 同時支援 Git 和 Mercurial 兩種 VCS
– 內建GitHub, BitBucket 和 Stash 的支援:直接繫結帳號即可操作遠端repo
TortoiseGit
對這隻小烏龜估計沒有開發人員會不認識,SVN的超廣泛使用也使得這個超好用的Svn客戶端成了幾乎每個開發人員的桌面必備軟體。小烏龜只提供Windows版本,提供中文版支援的,對於中國的開發者來說者絕對是福音。
小烏龜的檔案管理器右鍵選單的操作方式對於新手來說非常的容易上手,而且容易理解。
– 免費
– 只支援Windows作業系統:與檔案管理器的良好整合
– 中文介面
– 與TortoiseSVN一脈相承的操作體驗
IDE整合的Git客戶端
對於使用IDE進行開發的程式設計師來說,可以不離開常用的IDE就直接操作原始碼管理系統是最好的選擇,以下是我對幾個常見的IDE整合的git客戶端的一點體驗。
Xcode
蘋果的移動端應用體驗沒得說,但是桌面軟體的體驗就只能呵呵了。對於XCode裡面的Git客戶端來說,我只能說:夠用!
這個history的列表也是夠簡單的了。
Eclipse – Egit
作為Java整合開發環境的代表,Eclipse內建了egit這個外掛來提供git的整合支援。實話實說,這個外掛的功能非常豐富,無論是普通的clone, commit, pull/push操作;還是複雜一些的git flow都有支援。除了顏值差點,其它都還好。
Visual Studio – Git Integration & GitHub Extension
Visual Studio 作為全宇宙最強IDE的名聲已經在外,自從2013版本以來一直在針對Git的支援進行改進。如果配合社群版使用的話,也是完全免費的。對於使用Windows作為開發環境的程式設計師來說,VS裡面的Git支援已經相當的完善。
直接克隆github上的repo
分支和歷史記錄檢視
CodeLens 整合,可以直接在方法級別上檢視git歷史
Visual Studio Code
嚴格來說,Vscode不能算是IDE,只能算上程式碼編輯器而已,但是隨著vscode上面外掛的增加以及對於debugging的良好支援,vscode已經狠接近IDE的使用體驗了。另外,vscode可以支援Windows, Mac和Linux作業系統,所以對於不同環境的開發人員來說都非常實用。
總的來說,我最喜歡的是Source Tree 和 VS裡面的Git支援,主要原因還是用的多,順手。其實工具的選擇更多的是個人喜好,再難用的工具,只要基本功能滿足,天天用,用慣了也不會願意更換其他的工具。以上的只是一點個人體驗,希望對於剛入行的新程式設計師或者開始接觸git的朋友們能夠有些幫助。
相關文章:
請關注微信公眾號 【devopshub】,獲取更多關於DevOps研發運維一體化的資訊