GitSharp более высокого уровня, часть низкого уровня реализована в GitSharp.Core
GitSharp имеет стиль .NET, а NGit слишком Javaish.
В настоящее время такие команды, как Commit, Tag, не были реализованы в GitSharp, в то время как они были реализованы в NGit.
Лично я предпочитаю GitSharp, поскольку он обеспечивает чистую реализацию .NET. NGit полуавтоматически портируется с большим набором библиотек (JSch, Sharpen), но он все еще чистый .NET. Чистые .NET библиотеки DLL (AnyCPU) облегчают развертывание !!!
libgit2sharp - это просто оболочка для библиотеки C, и мы должны также развернуть библиотеку C. Развертывание для библиотек C - это большая проблема для многих платформ и архитектур (x86, x64, Windows, Linux)