С легким опытом TortoiseSVN я посмотрел на некоторую командную строку SVN, и это было не так просто. Действительно ли TortoiseGit упрощает использование Git, как и TortoiseSVN для командной строки SVN?
Действительно ли TortoiseGit делает Git намного проще в использовании, например, TortoiseSVN?
Ответ 1
Я не думаю, что для использования TortoiseGit должно быть какое-либо стигма, предпочтительнее командной строки git. В конце концов, если вы работаете в Windows, ваш основной интерфейс с файловой системой через проводник Windows.
TortoiseGit обрабатывает наиболее распространенные варианты использования: проверка, проверка, различие, журналы и т.д. Если вы обнаружите что-то, что вам нужно сделать, то он не сможет обработать, то все это вернется в исполняемый файл командной строки, но для 98% того, что вам нужно делать ежедневно, в TortoiseGit есть инструменты для поддержки.
В частности, рассмотрите акт совершения вашего последнего набора изменений. В TortoiseGit мой рабочий процесс выглядит следующим образом. Я фиксирую корневую папку и получаю окно с перечислением измененных файлов. Затем я могу пройти через это по одному, выбирая, какие изменения совершать. Некоторые изменения, возможно, были временными изменениями, требующими возврата (простой щелчок правой кнопкой мыши), некоторые из них - локальные переопределения, которые не должны находиться в репозитории, а некоторые - временные файлы, которые можно безопасно удалить (опять же щелкнуть правой кнопкой мыши) и т.д. Для остальных из них я всегда различаю измененные файлы по сравнению с версиями в репозитории (простой двойной щелчок). Это полезная проверка здравомыслия, что вы знаете, что делаете. Например, вы можете удалить любой временный код отладки или добавить обратно все, что было временно прокомментировано. Это также дает вам шанс сделать шаг назад и рассмотреть качество ваших изменений; например, если вы добавили новый метод, но забыли добавить комментарии к документации, вы можете сделать это на этом этапе.
Для такого рода рабочих процессов управление всем из одного окна фиксации намного проще, чем отключение кучи отдельных команд git.
Ответ 2
Я думаю, вы теряете много функций Git при использовании TortoiseGit. С моей точки зрения, TortoiseGit дает пользователю ощущение использования SVN, в то время как фактический back-end Git.
Когда я работал с репозиториями SVN, единственным клиентом, который я использовал, был TortoiseSVN. Нет консоли вообще.
Но обучение Git для меня было довольно консольным, поэтому я использую консоль для работы с Git. Есть несколько случаев использования, когда я запускаю TortoiseGit, например, при чтении журналов или разрешении конфликтов. Но вместо Tortoise я мог бы использовать gitk
для этого. И не забыть — TortoiseGit - не самая стабильная часть программного обеспечения.
На мой взгляд, единственное право на существование для TortoiseGit - это поймать пользователей TortoiseSVN, которые переключаются на Git: они могут придерживаться используемой интеграции проводника и не должны изучать новый инструмент при использовании нового VCS (IMHO, кривая обучения Git достаточно крутая, поэтому некоторые люди могут сначала сосредоточиться на изучении основ Git, прежде чем открывать мощность консоли). А ребятам из точки и мыши Windows не нужно связываться со своей системой через консоль. Что это.
Я разделяю мнение Noufal: если вы хотите использовать Git, возьмите консоль, если вы хотите играйте с ним, возьмите TortoiseGit.
Edit:
Я уважаю работу проектной команды TortoiseGit, которая упрощает переход от SVN к Git для пользователей, которые раньше использовали TortoiseSVN. Но на мой взгляд: для использования полной мощности Git вам нужно запустить свой Git bash. Вы можете работать с Git только с помощью TortoiseGit, но тогда вы просто царапаете поверхность Git.
Кстати: Описание проекта TortoiseGit говорит:
TortoiseGit поддерживает вас с помощью обычных задач, таких как фиксация, отображение журналов, различение двух версий, создание ветвей и тегов, создание патчей и т.д. [...].
Таким образом, их собственное представление об их проекте разделяет мой: TortoiseGit для царапин на поверхности, но вам понадобятся другие инструменты (т.е. консоль), чтобы обнаружить всю красоту Git.