在基於Windows的操作系統上使用Git擴展或TortoiseGit有什麼好處和缺點?TortoiseGit vs Git擴展
回答
我不知道GitExtensions,但我可以分享我的TortoiseGit經驗(由marc_s的評論提到):
優點:
- 與Windows(這是一個外殼擴展) 完美集成
- 與TortoiseSVN幾乎相同的用戶界面(如果您已經使用過TortoiseSVN,您知道該期待什麼)。
缺點:
- 你將有一個硬時間瞭解如何使用git。
與TortoiseGit的問題是,誰與TortoiseSNV工作過的人都會認爲一切將(或應該)工作酷似SVN ......並最終從來沒有真正理解如何使用Git工作。作爲個人經驗,我工作的公司2年後從SVN遷移到git,每個使用TortoiseGit的開發者都不知道自己在做什麼,有時甚至搞砸了他們的本地存儲庫。最後,他們放棄了TortoiseGit,花時間學習git「困難的方式」(shell,Windows上的msysGit),從此以後每個人都很開心。
結論:直接使用msysGit並正確學習git。你將在未來避免許多頭痛。
好利弊爭論+1 – 2012-11-29 02:48:46
作爲另一種方式的人,從使用Git Extensions到另一個項目需要使用TortoiseSVN,我發現使用TortoiseSVN非常刺激。傾向於搞砸了SVN存儲庫,儘管我最終習慣了它。根據我的經驗和拉斐爾的評論,我認爲Tortoise的做事方式和git之間肯定存在阻抗不匹配。 – 2013-03-09 13:50:33
我個人使用TortoiseGit進行提交(僅查看提交)和日誌查看,對於其他操作使用命令行 – 2013-09-05 14:33:14
我的公司嘗試並迅速放棄了Tortoise Git。它經常墜毀。編碼者聲稱Tortoise Git不夠強大,但我沒有自己檢查。但我確實看到了很多自己的崩潰。
編碼者更喜歡git bash,其他人使用但討厭git擴展。雖然其中一些人還額外打開了git bash。 Git bash不可避免地要看到進度計數器。
Git擴展沒有選項可以顯示拉動過程中的進度計數器。所以只有Git Extensions,你坐在一個神祕的非進度欄前面,不知道會發生什麼以及是否失敗。最糟糕的是缺少或不正確的密碼:Git擴展只是讓你永遠等待,顯示同樣的輝煌吧,就好像它正在做一些耗時的事情。 Git Extensions的另一個驚悚之處在於,當「版本化」許多大文件並使用rebase進行提取時,會出現「內存不足」的情況。在這種中止之後,非編碼用戶總是被問題困擾。他們沒有更改的許多文件顯示爲已更改,並且鎖定文件阻止他們處理問題等。
在我看來,這兩種GUI工具都不成熟。
最後一句話+1。 – mbx 2011-08-08 08:53:12
作爲更新,雖然錯誤信息仍然有點令人困惑,但它們實際上現在已經正確顯示。 – 2012-11-16 14:26:07
很久以前,Git Extensions支持在拉取期間顯示進度。 Git進程中斷也是固定的。 – KindDragon 2013-03-04 18:52:01
日期:2011-08-27。
此時,Tortoise Git根本不起作用,並且谷歌代碼網站上的問題在一個月內沒有得到關注:http://groups.google.com/group/tortoisegit-users/browse_thread/thread/9090337b7936e1e1。
從Tortoise Git的第一次使用克隆一個網站(並開始開發)的彈出框中的「加載修補程序密鑰」框是灰色的。所以沒有找到私鑰,並且錯誤消息是「連接中斷」成功!!!!
儘管控制檯爲基礎,但Git Bash完美工作。如果上面的每個人都談論了在使用Tortoise Git時不瞭解Git概念,那麼即使沒有考慮到我花了3個小時來嘗試讓Tortoise Git爲開發人員工作,我也會遠離它。他將不得不學習控制檯Git,或者走下去。
我得到了它在15分鐘內的工作,我只是想聘請程序員;-)
PS黑客,Eclipse有三大版本控制庫「連接器」可以是一個非常好的編輯器。
日期:2012-9-4:一年後,問題解決了嗎?我說TortoiseGit正在改進 – linquize 2012-09-04 06:30:23
我對TortoiseGit沒有多少經驗,但是我已經安裝了,並且正在使用GitExtensions v2.21。
最大的優點在於使用GitExtensions:
- 視覺gitk般的代碼行及分支機構的圖形顯示,在卡上提供所有必要的信息,從而無需任何與不友好SHA的工作。
- 以管理員和所有其他用戶安裝在同一臺PC上的能力可以像任何普通用戶一樣使用它。
- 內置外殼集成與Windows資源管理器
- 了與Visual Studio的盒子整合(視窗Eclipse用戶只需要msysgit,因爲他們有自己的GUI,以取代GitExtensions的需要)
- 易於使用的安裝程序它預先打包了所有必要和先決條件的功能,以開箱即用(SSH Client,KDiff,msysgit)。
- 整合與GitHub的(叉,克隆,拉都是流線型)
缺點:
- 文檔不會持續不斷地添加新的功能跟不上。例如,我仍然不知道如何使用腳本功能。
我們不要忘記,這是一個完全免費的程序,並提供給我們,不附帶任何條件的選擇,我沒有看到這樣高的期望放在它的理由,因爲如果我們支付客戶? 我已經看到了前面的用戶提到的一些中止和凍結,但我相信大多數已經在v2.24中得到了修復。很多中止和失敗的行爲並不是GitExtensions的錯,但更多的是GitExtensions之外的系統問題的症狀(例如,配置錯誤的SSH設置,託管遠程回購的服務器上的文件權限問題等)。例如,有一次,我做了一次簡單的推動,導致失敗並中止。事實證明,我嘗試推送的遠程路由器的路徑名非常長,導致承載該repo的Mac服務器出現問題。
不管怎麼說,然而,我說GitExtensions的經驗是相當積極的。我發現上面列出的好處使得值得忍受偶爾的異常終止並凍結,直到錯誤得到修復。
你想要Git擴展的一個重要原因 - 它顯示了提交日誌的圖形視圖(見下文)。如果沒有這種圖形視圖,我認爲大多數人都不會知道git會發生什麼事情發生在分支機構,提交,重新發布,櫻桃採摘等等上(我知道我沒有)。
你也想在命令行上做一些你的工作,這是你最好的選擇,因爲你得到的所有幫助都是基於命令行的。所有這一切,你也可以使用Tortoise Git(假設它有效),因爲它們都調用相同的命令行可執行文件,並在同一個git存儲庫上運行。
大多數IDE都支持git,JetBrains IDEA在添加變更列表和其他功能方面做得非常出色。
這是一個非常重要的考慮因素。由於其CVS/SVN傳統,TortoiseGit是面向文件和目錄的。但git本身並不是 - 它是以歷史爲導向的,文件和目錄恰好是歷史關注的東西。實際上,任何通過文件/目錄上下文菜單訪問主要訪問途徑的Git工具都是有缺陷的。這也包括Git擴展。 – Jeremy 2012-12-20 15:45:26
只是爲了對付上述的一些言論:
有了正確的預期,TortoiseGit提供了極好的圖形用戶界面的使用Git在Windows上工作。它不是TortoiseSvn的替代品,而是使用gitk + git-gui(可以被認爲是核心git功能的一部分並可在msysgit中訪問)的改進gui。我看到的唯一不好的事情是你不需要記住所有的checkout/rebase/merge等確切的命令,因爲可以通過gui(這是整個點)非常方便地完成所有操作。 putty/ssh問題更多地與Windows上對ssh的低級支持有關,而不是TortoiseGit獨有的。
也支持** TortoiseGit **:1)在沒有GE等幾秒負載延遲的舊PC上,速度要快得多; 2)它允許在默認的diff-viewer中編輯當前文件; 3)它在上下文菜單中有更多的選項; 5)它在提交查看器中具有可配置的列; 5)它介意GUI中的'autocrlf'設置(即,不像GE那樣在分級中重新發出警告); – Annarfych 2016-12-11 04:57:23
只用它openssh而不是膩子和快樂 – 2017-01-25 06:20:06
我不能說Git擴展,因爲我從來沒有用過它。純GIT有一些問題。例如,無法整合GVIM。 Tortoise Git有一個集成的編輯器和diff工具(這非常棒),所以這是一個很好的方便。我喜歡Scott Chacon書中的分支圖,並希望TGit會有類似的圖。他們確實有一個顯示分支的工具,但它不如書中的那麼好。
有一點需要記住的是,由於TGit只是GIT之上的一個shell,所以混合這兩種方法並沒有什麼壞處。我使用TGit來處理大多數事情,但是在GIT中使用那些很尷尬的命令,或者我在TGit中很難理解。但即使你打算使用TGit,如上所述,仍然很重要,首先要了解GIT的基本知識。我通讀了Chacon一書中的第一章,即三章(可在http://progit.org/book/上免費在線或在亞馬遜購買)。如果你和我一樣,你可能想多讀幾遍,讓這個範例沉入其中。這並不複雜,但與以前的VCS非常不同。
TGit從來沒有撞到我身上,就像其他一些評論者一樣,但後來我的回購很少。它確實在不止一次的情況下吃了我的提交意見,這可能是用戶錯誤。由於您可以返回並重新編輯註釋,這只是一個煩惱,值得使用GUI的便利性,一眼就能看到大量信息的窗口。
只想評論我有同樣的經歷。使用TGit除非對較不典型的操作更容易使用bash。 TGit有一個偉大的日誌,偉大的內置差異,現在在2016年是堅實的。 – Raj 2016-10-26 01:34:41
快速和容易的編輯,定製和大樓的擴建, GitExtensions是更好的(C#)比TortoiseGit(的Visual C++ MFC)
對於便攜性, GitExtensions是在Linux上的Windows /單聲道更好(.NET /蘋果機)比TortoiseGit的(Win32/64只)
要在資源管理器使用圖標疊加,使用TortoiseGit
對於某些功能的性能, TortoiseGit是更好,因爲它調用靜態/動態庫檢索結果從存儲庫中,而GitExtensions只調用具有較大開銷的git.exe命令行。
要遷移在TortoiseSVN, TortoiseGit會更熟悉的莫過於GitExtensions
我用GitExtensions。我還沒有使用過TortoiseGit,但我們其他的開發人員都喜歡它,並拒絕使用GitExtensions。他的推理是:1)熟悉; 2)它有很大的Windows資源管理器集成。
使用GitExtensions我傾向於使用只有三樣東西在Windows資源管理器集成:
1)要創建新的本地存儲庫(上下文菜單項的Git初始化這裏,這實際上是Windows命令一個Git; GitExtensions坐鎮在Git for Windows之上);
2)打開Git Extensions GUI(瀏覽窗口);
3)將遠程存儲庫克隆到本地存儲庫(上下文菜單項「Git擴展」>「克隆」)。
對於幾乎所有其他事情,我只需要GitExtensions GUI並從那裏開始工作。
GitExtensions的開發人員聲稱幾乎所有的命令都可以從GUI執行。這並不完全正確,但我發現我只需要在複雜的任務中每月進入一次或兩次命令行界面。
在某些情況下,通過隱藏基礎Git命令的複雜性,GUI使得複雜任務變得簡單。這有時涉及將幾個Git命令組合成一個單獨的動作。例如,在GUI中組合添加子模塊,初始化子模塊並將其更新爲單個動作的子模塊。在另一種情況下,GUI通過提供Git缺少的命令來簡化任務 - 刪除子模塊(在Git中,您必須手動編輯各種文件,例如.gitmodules和.git/config以刪除子模塊)。我很想知道TortoiseGit是否以類似的方式簡化了複雜的任務。
GitExtensions還具有相當基本的Visual Studio集成。不知道TortoiseGit是否。 Visual Studio 2008和2010中有一個單獨的Git源代碼控制提供程序,它提供了更廣泛的Visual Studio集成。但是,安裝了Git源代碼管理提供程序後,我發現我從來沒有使用它。我從Visual Studio中使用的唯一GitExtensions集成在工具欄上,用適當的存儲庫打開GitExtensions GUI。我將在一臺顯示器上使用Visual Studio並在另一臺顯示器上打開GitExtensions。
至少從版本2.32 GitExtensions顯示其工具欄中未提交文件的數量。我以前使用2.24,它沒有這個功能,非常方便。對是否存在任何未提交的更改提供即時反饋。
- 1. TortoiseHg,TortoiseGit和Git擴展可以和平共處嗎?
- 2. Bitbucket.org&Git擴展
- 3. Android擴展適配器vs擴展BaseAdapter
- 4. ctypes vs C擴展
- 5. MEF擴展VS AutoFac
- 6. OpenSessionInView vs PersistentContext(擴展)
- 7. TortoiseGit - Git的克隆
- 8. Git擴展指南?
- 9. Git擴展與msysgit衝突1.9.5
- 10. Git擴展沒有出現在VS 2010專業版
- 11. Git擴展在安裝後沒有出現在VS 2010中
- 12. Git擴展插件未顯示在VS 2010中
- 13. React.createClass VS擴展組件
- 14. xmmintrin.h vs gcc向量擴展
- 15. 打開SQLite VSIX(VS擴展)
- 16. PHP PECL_HTTP vs cURL擴展
- 17. distutils.core VS與C++擴展
- 18. PHP擴展:SQLite VS SQLite3
- 19. 擴展「Manage.cshtml」開箱VS 2013
- 20. 高德VS類擴展
- 21. 用例泛化vs擴展
- 22. Linux Git存儲庫和TortoiseGIT
- 23. 從git過渡到TortoiseGit
- 24. 如何克隆git擴展?
- 25. Visual Studio的Git擴展
- 26. Git擴展:Squash提交?
- 27. Git擴展與Windows的GitHub
- 28. Git擴展和Meld合併
- 29. F# - 類型擴充VS類型擴展
- 30. git克隆沒有.git擴展
如果你已經習慣了例如TortoiseGit,那麼TortoiseGit是一個不錯的選擇。 TortoiseSVN的。這是一個外殼擴展 - 所以你需要從Windows資源管理器中工作。 GitExtensions是一個完整的Windows應用程序,您可以從Windows資源管理器單獨啓動;但有時候我感覺有點「奇怪」,並不像我期望的Windows實用程序那樣完全工作 - 並且崩潰並凍結了很多(至少對我而言)。 – 2011-05-16 04:57:27