文章目錄
源代碼得管理
以往用SVN,慢慢累積了很多問題,後來就“恢復正常人”開始用Git。
具體SVN對比Git可以上網搜出來比較權威和詳細的對比,
對我來說,SVN最大的問題有三點:
- 不是分佈式的,一個項目無法提交到多個倉庫(也許是我不會用?)
- 沒有真正的分支,所謂分支就是另一個目錄了(git是元數據存儲,svn是文件存儲)
- 自己搭建的服務器在內網,這個不算SVN的問題,不過呃……
那就Git吧
具體Git的知識,這裏也不再贅述了,上網查吧。
對我來說Git好在:
- Git外有Github,內有Gitee,新有華爲雲,多種免費的服務器。
- Git消耗存儲空間很小。
- Git是分佈式的,且本地倉庫可對應多個遠端倉庫。
- Git的分支變化很清晰。
由於Git本身是命令行操作的,爲了方便(至少方便比對代碼版本吧),我們需要一個圖形的管理界面。
之前SVN用了TortoiseSVN,所以Git順理成章就用了TortoiseGit。
但是小烏龜(Tortoise)有些地方也不是很好用,所以在海龜精英的建議下,又用了SourceTree。加上IDE比如Idea自帶的Git管理,這下子圖形管理界面又好像太多了。
用了一段時間,我們來對比一下吧:)
圖形化Git管理軟件對比
像Git-flow什麼的,比較正常的我就不提了(汗)……
暗色主題
TotoiseGit沒有暗色主題,如果你習慣了IDE深色,網頁深色,Win10深色,那麼小烏龜可以亮瞎眼。
而SourceTree可以選擇深色主題。IDE內置就不說了當然也明暗都有。
圖形分支與提交歷史
TotoiseGit無法顯示完整的提交與分支情況
而如下圖,SourceTree即使切換到了Develop分支,也能看到整個項目的提交和分支變化情況。
IDE內置的就別想了,除非你的倉庫只有一個整體的工程,因爲IDE內置只管理到工程。
倉庫與工程
SourceTree無法獨立管理項目內每個工程
IDE內置的Git只能管理一個工程
如果你的項目倉庫是幾十個小模塊(工程)組成的,那麼TortoiseGit可以針對每個項目的頂級目錄進行提交管理。
這種事情SourceTree直接交給了文件管理器,呵呵……
代碼改動對比
SourceTree無法分左右對比代碼
是的,如下圖它只能顯示在一個框裏面(單區塊,Github的Unified對比方式),而小烏龜可以單區塊(Unified)也可以左右雙區塊對比(Split)。但是SourceTree可以配置外部比對器,呵呵,比如外部就選成小烏龜。
分支切換
小烏龜切換分支不夠方便
它需要進入右鍵菜單選擇:”切換/檢出“,再選擇分支。
當前分支也只能在右鍵菜單中看到提交到哪裏,才知道當前的分支。
而SourceTree一目瞭然。。。如下圖。(標籤,遠端倉庫,需要整體管理和切換的同理)。
提交到多個遠端倉庫
SourceTree無法一次推送到多個遠端倉庫
別看整體管理很方便,但是如果你的本地倉庫對應多個遠端倉庫,SourceTree竟然需要一個個的推送(或者我沒弄懂?)
而小烏龜可以推送全部遠端倉庫,如下圖。
編碼UTF8與Ansi
SourceTree只能有一種編碼
它默認是UTF8,如果你有中文文本是Ansi(GBK一類),就會顯示成亂碼,如果全局配置改成GBK18030,那麼恭喜你文本可以顯示了,但是提交的日誌卻變成了亂碼。。。
小烏龜可以自動識別,也可以單獨改代碼比對的編碼,所以相對可以繞過這個問題。
徹底解決則需要我們自己全部用UTF8編碼。
SourceTree很可能變成下圖:
總結
SourceTree側重整體提交過程/分支變化/的展現和方便管理。
TortoiseGit則可以對一個倉庫下面的各個目錄(子工程)進行管理。
怎麼選?當然是都用咯,某個操作哪個軟件方便就用哪個……
至於IDE自帶的,如果你的倉庫是一個大網站,一個APP這類,也許IDE自帶的就夠了……
如果你也是幾十個子項目,呵呵呵……
…
Git提供網站免費部分對比
GitHub
速度慢,有時特別慢,經常展示不了README.md裏的圖片
但是最近疫情中,它居然對免費的用戶開放了無限協作者!!!這下整個團隊都可以白PIAO了,啊啊啊。
Gitee
5人協作限制
名字叫碼雲有點
項目管理不夠用
好處是國內的嘛,至少速度能保證,至少顯示README.md沒問題。
華爲雲
5人協作限制
根本不直接顯示README.md,這個重要麼……
好處是項目管理還算不錯,小團隊(5人)也是免費用,代碼提交關聯,分支合併審覈等比較方便。
華爲提供的東西特別多,可以選一堆自己需要的,然後讓公司盤它!!!
總結
如果有更好用的,還請大神賜教。
但是在國外,很好用但是不存在的那種網站……還是Let it go吧……