What are the benefits and disadvantage of using either Git Extensions or TortoiseGit on a Windows Based OS?
相关问题
- Why does recursive submodule update from github fa
- Extended message for commit via Visual Studio Code
- Emacs shell: save commit message
- Can I organize Git submodules in a flat hierarchy?
- Upload file > 25 MB on Github
相关文章
- 请教Git如何克隆本地库?
- GitHub:Enterprise post-receive hook
- Git Clone Fails: Server Certificate Verification F
- SSIS solution on GIT?
- Is there a version control system abstraction for
- ssh: Could not resolve hostname git: Name or servi
- Cannot commit changes with gitextensions
- git: retry if http request failed
For fast and easy compilation, customization, and building extensions, GitExtensions is better (C#) than TortoiseGit (Visual C++ MFC)
For portability, GitExtensions is better (.NET on Windows / mono on Linux/Mac) than TortoiseGit (Win32/64 only)
To use icon overlay in Explorer, use TortoiseGit
For performance of some features, TortoiseGit is better because it calls static / dynamic library to retrieve the result from the repository, while GitExtensions only invokes git.exe command line which has larger overhead.
To migrate from TortoiseSVN, TortoiseGit will be more familiar with than GitExtensions
I don't have much experience with TortoiseGit, but I installed, and am currently using GitExtensions v2.21.
The biggest advantages with using GitExtensions:
Disadvantages:
Lest we forget that it is a completely free program, and offered to us as an option with no strings attached, I don't see the rationale for such high expectations placed upon it, as if we were paid clients? I have seen some of the aborts and freezing that the previous user mentioned, but I believe the majority of that has been fixed in v2.24. Alot of the aborts and failed actions are really not the fault of GitExtensions, but more a symptom of a systemic problem outside of GitExtensions (eg. misconfigured SSH setup, file permissions issues on the server hosting the remote repo, etc). For example, there was one time when I did a simple push which caused fail and abort. It turns out that the remote I was trying to push to was on a very long pathname which was causing problems for the Mac server that hosted the repo.
Anyways, that said however, my experience with GitExtensions has been fairly positive. I find the benefits outlined above have made it worthwhile to put up with the occasional aborts and freezes until the bugs are fixed.
I can't speak to Git Extensions as I've never used it. Had some problems with pure GIT. Couldn't integrate GVIM, for instance. Tortoise Git has an integrated editor and diff tool (which is amazing), so that's a very nice convenience. I loved the branch diagrams in the Scott Chacon book and was hoping TGit would have a similar diagram. They do have a tool for showing branches but it's not as nice as the one in the book.
One thing to bear in mind is that since TGit is just a shell on top of GIT, there's no harm in mixing the two methods. I use TGit for most everything, but dip into GIT for commands that are awkward or that I simply don't understand well in TGit. But even if you plan to use TGit, it's still important, as mentioned above, to understand the basics of GIT first. I'd read through the first, say, three chapters in the Chacon book (available for free online at http://progit.org/book/ or by purchase at Amazon). If you're like me you may want to read them several times over to let the paradigm sink in. It's not all that complicated, but it is very different from previous VCS's.
TGit never crashed on me, as it has for some of the other reviewers, but then my repo's have been small. It did eat my commit comments on more than one occasion, which could have been user error. Since you can go back and re-edit comments this was just an annoyance and worth the convenience of having a GUI, with windows that show a great deal of info at a glance.