Существует ли хороший (визуальный) инструмент Git для Mac OS X или Windows? [закрытый]

Я записал довольно всестороннее сообщение, которое должно помочь объяснить о финализаторах, IDisposable, и когда необходимо использовать один или другой: http://gregbee.ch/blog/implementing-and-using-the-idisposable-interface

, Вероятно, самая соответствующая часть заключается в кавычки ниже:

при использовании неуправляемых ресурсов, таких как дескрипторы и соединения с базой данных необходимо удостовериться, что они сохранены для минимального количества времени, использование принципа получает поздно и выпускает рано. В C++, высвобождающем средства, обычно делается в деструкторе, который детерминировано выполняется в точке, где объект удален. Время выполнения.NET, однако, использует сборщик "мусора" (GC), чтобы вымыться и исправить память, используемую объектами, которые больше не достижимы; поскольку это работает на периодическом основании, это означает, что точка, в которой очищен Ваш объект, недетерминирована. Последствие этого - то, что деструкторы не существуют для управляемых объектов, поскольку нет никакого детерминированного места для выполнения их.

Вместо деструкторов, C# имеет финализаторы, которые реализованы путем переопределения Завершить метода, определенного на классе базового объекта (хотя C# несколько смутно использует синтаксис деструктора C++ ~Object для этого). Если объект переопределяет Завершить метод тогда вместо того, чтобы быть собранным GC, когда это вне объема, GC помещает его в очередь финализатора. В следующем цикле GC все финализаторы на очереди выполняются (на единственном потоке в текущей реализации) и память от завершенных исправленных объектов. Довольно очевидно из этого, почему Вы не хотите делать, моются в финализаторе: требуется два цикла GC для сбора объекта вместо одного и существует единственный поток, куда все финализаторы выполняются, в то время как любой поток приостановлен, таким образом, это собирается повредить производительность.

Поэтому, если у Вас нет деструкторов, и Вы не хотите покидать очистку финализатору, тогда единственная опция состоит в том, чтобы вручную, детерминировано, очистить объект. Введите интерфейс IDisposable, который предоставляет стандарт для поддержки этой функциональности и определяет отдельный метод, Расположите, где Вы вставляете логику очистки для объекта. Когда используется в наконец блоке, этот интерфейс предоставляет эквивалентную функциональность деструкторам. Причина наконец блоков в коде состоит в том, чтобы, прежде всего, поддерживать интерфейс IDisposable; это - то, почему использование C++ просто пробует/за исключением нет никакой потребности в наконец блок с деструкторами.

42
задан Kara 12 December 2013 в 06:42
поделиться

7 ответов

Вот один для Mac: GitX

Скриншот: enter image description here

30
ответ дан 26 November 2019 в 23:24
поделиться

GitGui поставляется с git. У меня это всегда отлично работало. У вас какие-то проблемы?

Скриншот: enter image description here

2
ответ дан 26 November 2019 в 23:24
поделиться

В Windows есть TortoiseGit . Он не такой зрелый, как TortoiseSVN, но я его использовал, и он работает достаточно хорошо для моих целей.

Снимок экрана: enter image description here

РЕДАКТИРОВАТЬ [декабрь 2014 г.]: я также рекомендую посмотреть ответ Дэна . Пользовательский интерфейс Github, вероятно, является наиболее зрелым / поддерживаемым инструментом на данный момент (даже если вы не используете Github!)

28
ответ дан 26 November 2019 в 23:24
поделиться

Существует собственный порт Git для Windows, который называется mysysgit.

Если вы используете Eclipse, есть клиент Git, который подключается к нему - egit. TortoiseGit - это автономный клиент с графическим интерфейсом. Git # / GitSharp - это клиент для git для .NET.

Надеемся, что пользователи Mac смогут предоставить несколько примеров для MacOS.

Наслаждайтесь!

0
ответ дан 26 November 2019 в 23:24
поделиться

Попробуйте Git Extensions .

Снимок экрана: enter image description here

18
ответ дан 26 November 2019 в 23:24
поделиться

В русле обучения ловле рыбы : взгляните на страницу https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools в Git Wiki, где есть раздел о графических интерфейсах.

На главной странице Git также есть раздел, посвященный графическим интерфейсам: http://git-scm.com/downloads/guis

4
ответ дан 26 November 2019 в 23:24
поделиться

Расширения Git для Windows отлично работают и интегрируются с Visual Studio (если вам это нужно). Я не пробовал TortoiseGit, но слышал, что он не совсем готов.

На Mac я пробовал GitX и не очень впечатлен. Похоже, что отсутствуют многие команды git, и мне приходится регулярно пользоваться терминалом. Есть еще один под названием Gity, но он очень новый, и я его еще не пробовал. Сейчас он бесплатный, но я думаю, что он закончится, когда он достигнет 1.0.

0
ответ дан 26 November 2019 в 23:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: