- Текстовый редактор для Git в среде Windows
- 19.03.2019
- Лучшие клиенты Git GUI для Windows
- Лучшие клиенты Git GUI для Windows
- Клиенты Git GUI для Windows:
- 1. GitHub Desktop
- 2. GitKraken
- 3. SmartGit
- 4. SourceTree
- Респект за пост! Спасибо за работу!
- Для новичков: 5 советов по GitHub
- Совет № 1: Измените редактор по умолчанию
- Совет № 2: Используйте dotfiles
- Совет №3: Установить Hub
- Совет № 4: Практикуйте разрешение конфликтов слияния
- Совет №5: Создайте GitHub Page
- Как настроить редактор для работы с Git в Windows?
- 30 ответов
- launch_editor() : укажите, что Git ждет ввода пользователя
Текстовый редактор для Git в среде Windows
19.03.2019
Git требует, чтобы каждый коммит сопровождался текстовым пояснением. Для краткого пояснения вполне достаточно ключа -m, но назначение коммита не всегда можно описать одним словосочетанием. В этом случае использовать ключ -m неудобно.
Вообще грамотное составление коммитов и комментариев к ним — отдельная тема, которую мы не будем здесь обсуждать. Я хотел прежде всего сосредоточиться на инструментарии. Точнее поделиться своим личным опытом поиска оного в среде Windows.
По умолчанию, при отсутствии ключа -m, Git запускает редактор Vim, или его аналог (речь о Git, входящем в комплект MinGW Distro). Это очень специфический редактор, и разобраться в нём не просто. Поэтому желание заменить его на что-нибудь более дружелюбное — объяснимо. Но на что?
Данный вопрос не нов. В частности его обсуждение можно найти на форуме. Там предлагается множество различных вариантов. Некоторые из них я проверил лично и хочу поделиться своим опытом. Чтобы вам не пришлось повторять мои ошибки.
В Linux для составления описания коммитов я обычно использую GNU Nano. Простой, понятный и без изысков. Он портирован на Windows. Но… Версия 1.0.8 наотрез отказалась работать на моей системе (Windows 10). Более новая версия 2.5.3 нормально запустилась. Но воспринимать кириллический ввод отказалась, выдавая ошибку «Unknown Command».
Этот баг обсуждается здесь. Последнее сообщение гласит: «I have no way to support nano on Windows», или в переводе на русский: «у меня нет возможности поддерживать nano в среде Windows». Так что исправления не ждите. Таким образом: если вы используете исключительно латиницу, GNU Nano вам подойдет (но не ждите новых версий). Если же вы хотите использовать и кириллицу, то не тратьте на него своего времени. Он только для Linux (может быть Mac).
Дальше на очереди Notepad и WordPad. Родные для Windows приложения. Но в этом и их беда. Как показали опыты, они плохо дружат с UTF-8, а именно её использует Git для хранения комментариев. Поэтому также не подходят. Возможно их как-то можно подружить, но я не стал заморачиваться.
Взглянем на Notepad++. Первоначально я использовал portable версию (это было моей ошибкой). Он нормально запускается, поддерживает и кириллицу и UTF-8, но не сохраняет комментарий. То есть вы вводите, сохраняете, закрываете редактор и Git вам выдает, что вы ничего не ввели, поэтому коммит не создан.
Потом я решил попробовать с основной версией. И вот тут всё заработало как часы. Теперь кратко о том, как их подружить с Git. Для этого нужно выполнить команду:
Давайте разберем эту строку:
config — указывает Git, что мы читаем или изменяем его настройку.
ключ global — говорит о том, что настройка меняется для всех репозиториев текущего пользователя
core.editor — сама настройка, задающая команду запуска текстового редактора. Новое значение настройки задается в двойных кавычках после имени настройки. Здесь указывается полный путь к исполняемому файлу редактора (в одинарных кавычках) и дополнительные ключи его запуска. Они пояснены ниже:
-multInst — создать отдельный экземпляр приложения. Это на тот случай, если у вас уже запущен Notepad++.
-notabbar — отключить вкладки. Поскольку мы собираемся работать с одним файлом, они нам не нужны.
-nosession — создать новый сеанс. По умолчанию, Notepad++ открывает те файлы, которые были открыты в нём в момент его закрытия. Здесь нам это не нужно.
-noPlugin — отключить плагины.
Резюме
Таким образом, после длительных поисков я пришел к Notepad++. Это не значит, что он — единственный вариант. Это тот инструмент, который подошел лично мне. Вам же может подойти и другой инструмент. Главное, чтобы он был удобен для вас. Цель этой статьи — предупредить вас о тех подводных камнях, с которыми вы можете столкнуться при поиске текстового редактора для Git.
Лучшие клиенты Git GUI для Windows
Лучшие клиенты Git GUI для Windows
- Запись опубликована: 02.03.2018
- Post category:Windows 10 / Программирование
- Post comments:0 комментариев
Git — это, несомненно, самая используемая система контроля версий. Собрал некоторые из лучших клиентов Git GUI, доступных для операционной системы Windows.
Клиенты Git GUI для Windows:
1. GitHub Desktop
Рабочий стол GitHub в основном является расширением рабочего процесса GitHub. Вы можете войти в систему, используя свои учетные данные GitHub и начать работу с вашими репозиториями. Есть возможность создавать новые репозитории, добавлять локальные репозитории и выполнять большинство операций Git из пользовательского интерфейса. GitHub Desktop является полностью открытым исходным кодом, и он доступен для MacOS и Windows. Нажмите здесь, чтобы загрузить GitHub Desktop.
2. GitKraken
GitKraken — это независимый разработчик Git для Windows. Он поддерживает GitHub, Bitbucket и Gitlab. GitKraken доступен в бесплатных, премиальных и корпоративных вариантах. Бесплатная версия подходит для небольших команд и стартапов, но вам может потребоваться обновиться после того, как ваша команда и работа будут расширяться. Перед использованием этого инструмента вам необходимо зарегистрироваться на сайте. Нажмите здесь, чтобы скачать GitKraken.
3. SmartGit
SmartGit — отличный клиент Git профессионального уровня, который можно использовать для некоммерческих организаций. Вы можете свободно использовать его для разработки open-source и бесплатного программного обеспечения. Но вам может потребоваться приобрести лицензию, если вы собираетесь использовать этот инструмент для коммерческих целей. SmartGit охватывает все функции Git и поставляется со всеми функциями для совместной работы. Инструмент даже поддерживает создание pull-запросов на GitHub. Нажмите здесь, чтобы загрузить SmartGit.
4. SourceTree
SourceTree — бесплатный клиент Git, разработанный Atlassian, компанией, стоящей за Jira и Bitbucket. Этот бесплатный клиент Git показывает огромную поддержку репозиториев, размещенных Bitbucket и GitHub. Перед использованием SourceTree вам необходимо создать учетную запись Atlassian. Нажмите здесь, чтобы загрузить SourceTree.
Итак, это были некоторые из клиентов Git, которые я использовал и нашел полезными. Если вы просто новичок, я бы рекомендовал использовать такой инструмент, как GitHub Desktop или Source Tree. И если вы опытный разработчик, идите на GitKraken и Smart Git.
Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram, Яндекс.Мессенджере и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.
Респект за пост! Спасибо за работу!
Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
Для новичков: 5 советов по GitHub
Alyson La, Data science в GitHub: В октябре этого года я отпраздновала свой пятилетний юбилей работы в GitHub. 5 лет назад я была бухгалтером, который ничего не знал о программировании, не говоря уже об использовании Git и GitHub.
Теперь я энтузиаст Data Scientist, который знает некоторые вещи о написании кода с помощью Git & GitHub. Частично благодаря изучению этих технологий я сделала этот карьерный переход.
Но даже работая в GitHub, изучать Git и GitHub было сложно! Поэтому я хочу поделиться 5-ью советами по использованию GitHub с другими людьми, новичками программирования.
Совет № 1: Измените редактор по умолчанию
Для многих людей текстовый редактор при использовании Git через терминал — VIM. VIM может быть ужасным, страшным для нового или казуального хакера. Или даже для ветеранов-хакеров как @haacked.
Если вы когда-нибудь столкнетесь с конфликтами слияния (а вы их встретите, см. совет №4), вы попадете в VIM, чтобы исправить конфликт, и вам нужно будет знать конкретные команды VIM для редактирования документа иначе вам захочется плакать. Больше года у меня была заметка на мониторе для напоминания основных команд VIM, таких как i (для редактирования) и: wq (для сохранения и выхода). Чтобы избежать боли, вы можете просто выбрать другой текстовый редактор.
Чтобы перейти на такие текстовые редакторы как Atom, Sublime или TextMate, следуйте инструкциям в этой справке.
Пока вы находитесь в нем, вы должны быть уверены что хоткеи настроены и вы можете открыть нужный текстовый редактор через терминал используя subl. или atom. Посмотрите эту документацию для настройки доступа к Atom через терминала и эту документацию для настройки Sublime.
Совет № 2: Используйте dotfiles
Я использовала Git & GitHub на протяжении нескольких лет, но ничего не знала о dotfiles. Я до сих пор недовольна что я не узнала об этом раньше!
Dotfiles позволяет настраивать подсказки в терминале, чтобы вы могли видеть, в какой ветке git вы находитесь, и есть ли у вас есть незакоммиченные изменения. ЭТО ГЕНИАЛЬНО! Мне достались dotfiles от сотрудника (John Nunemaker), но если вы будете искать «dotfiles» на GitHub, то найдете множество вариантов.
Совет №3: Установить Hub
Hub — это инструмент командной строки, который упрощает использование GitHub. Я часто работаю в репозитории через терминал и иногда мне нужно посмотреть пул-реквесты и проблемы на GitHub. Для этого мне нужно открыть вкладку в браузере, а затем я отвлекаюсь на электронную почту / твиттер / щенка — и десять минут спустя перехожу к набору адреса репозитория GitHub.
Команда hub browse, введённая в терминале, автоматически откроет URL-адрес репозитория прямо в вашем браузере.
Совет № 4: Практикуйте разрешение конфликтов слияния
Вот тут я признаю, что я иногда ленюсь. В частности, когда речь идет о конфликтах слияния. Я не могу вспомнить, сколько раз я отказывалась от проекта или пул реквеста, потому что я сталкивалась с конфликтом слияния.
Они пугали меня, документация о том, как исправить их, пугала меня, а затем я заходила в VIM и хотела уйти навсегда (см. совет №1).
Затем я поняла, что мне нужно встретиться со своим страхом, поэтому я создала репозиторий для практики, создала конфликт слияния, просмотрела документацию и видео на YouTube о том, как исправлять конфликты слияния. Я повторила это упражнение несколько раз. Также теперь вы можете исправлять простые конфликты слияния в пользовательском интерфейсе GitHub, так что это было удобно.
Сегодня, когда я сталкиваюсь с конфликтом слияния, я спокойно решаю эту проблему, зная, что благодаря контролю версий я не смогу слишком много перепутать.
Совет №5: Создайте GitHub Page
GitHub Pages — это бесплатный сервис хостинга веб-сайтов от GitHub, для проектов или персонального пользования. Всегда будет полезно загрузить ваш текущий проект на GitHub чтобы попрактиковать навыки Git & GitHub.
Создайте простой веб-сайт с помощью HTML, CSS и JavaScript по туториалу, а затем следуйте инструкции по его размещению на GitHub здесь, посмотрите видео с пошаговыми инструкциями, которое я сделала некоторое время назад. Или попробуйте супер легкий метод Fork и Go.
Наконец, я собираюсь поделиться 6-ым, возможно, очевидным советом — пройдите урок или посмотрите туториал по Git & GitHub!
Вот несколько из них, которые стоит посмотреть:
Я надеюсь, что этот список советов был полезен, и если у вас есть другие советы, которые стали полезными в вашем изучении Git и GitHub, было бы круто их услышать!
Как настроить редактор для работы с Git в Windows?
Я пробую Git на Windows. Я дошел до того, чтобы попробовать «git commit», и я получил эту ошибку:
терминал немой, но не визуальный ни Редактор определен. Пожалуйста поставьте сообщение с использованием опции-m или-F.
поэтому я понял, что мне нужно иметь переменную окружения под названием EDITOR. Не проблема. Я поставил его в блокнот. Это почти сработало. Сообщение фиксации по умолчанию открывается в блокноте. Но Notepad не поддерживает голая линия подачи. Я вышел и получил Notepad++, но я не могу понять, как настроить Notepad++ как %EDITOR% таким образом, что он работает с Git, как ожидалось.
Я не женат на Notepad++. На данный момент мне все равно, каким редактором я пользуюсь. Я просто хочу иметь возможность тип сообщения в Редакторе вместо командной строки (с -m ).
те из вас, кто использует Git в Windows: какой инструмент вы используете для редактирования фиксации сообщения, и что вы должны были сделать, чтобы это сработало?
30 ответов
обновление сентябрь 2015 (6 лет спустя)
настройки git config core.editor notepad пользователи теперь можете использовать notepad.exe в качестве редактора по умолчанию.
Настройка git config format.commitMessageColumns 72 будет подобран оберткой блокнота и line-wrap сообщение фиксации после его редактирования пользователем.
и Git 2.16 (Q1 2018) покажет сообщение, чтобы сообщить пользователю, что он ждет, когда пользователь закончит редактирование при создании редактора, в случае, если редактор открывается в скрытое окно или где-то неясно, и пользователь получает потерянный.
launch_editor() : укажите, что Git ждет ввода пользователя
при графическом GIT_EDITOR порождается командой Git, которая открывается и ждет ввода пользователя (например,» git rebase -i «), затем окно редактора могут быть скрыты другими окнами.
Пользователь может быть оставлен глядя на оригинальное окно терминала Git, даже не понимая, что ему нужно чтобы взаимодействовать с другим окном, прежде чем Git сможет продолжить. Для этого пользователя Git кажется, висит.
печать сообщения о том, что Git ожидает ввода редактора в исходное терминал и избавиться от него, когда редактор вернется, если терминал поддерживает стирание последней строки
я только что протестировал его с версией git 1.6.2.msysgit.0.186.gf7512 и Notepad++5.3.1
предпочитаю не нужно установить переменную редактора, поэтому я попытался:
что всегда дает:
если я определяю АЭС.летучая мышь, в том числе:
он просто работает с сеанса DOS,но не из оболочки git.
(не то, что с ядром.редактор механизма настройки, скрипт с » start /WAIT. » в это не сработает, а только откроет новое окно DOS)
Беннет!—39—> упоминает возможность избежать добавления скрипта, но ссылаться непосредственно на саму программу между простой кавычки. Обратите внимание на направление косых черт! Использовать / не \ для разделения папок в пути!
или если вы находитесь в 64 битной системе:
но я предпочитаю использовать скрипт (см. ниже): Таким образом, я может играть с различными путями или различными вариантами без необходимости регистрироваться снова git config .
фактическое решение (со скриптом) состояло в том, чтобы понять, что:
то, что вы ссылаетесь на файл конфигурации, на самом деле является оболочкой ( /bin/sh ) скрипт, не сценарий DOS.
Итак, что работает:
С этой установкой, я могу сделать’ git config —global —edit ‘ от DOS или Git Shell, или я могу сделать’ git rebase -i . ‘ из DOS или Git Shell.
Команды бота вызовут новый экземпляр notepad++ (следовательно, -multiInst ‘ option) и дождитесь, пока этот экземпляр будет закрыт, прежде чем продолжить.
обратите внимание, что я использую только ‘/’, а не \ ‘. И Я установлен msysgit с помощью опции 2. (добавить до PATH переменная окружения, но без переопределения некоторых встроенных инструментов windows)
тот факт, что вызывается оболочка notepad++.летучая мышь не важна.
Лучше назвать его по имени .npp.sh — и положить его в. —32—> каталог, Хотя (или в любом каталоге, на который ссылается переменная среды PATH).
для тех, у кого есть проблема, когда N++ просто открывает пустой файл, и git не принимает ваше сообщение фиксации, см.»прерывание фиксации из-за пустого сообщения»: изменить .bat или сказать:
это скажет notepad++, чтобы открыть временную фиксацию файл, а не пустой новый.
дом на Даррен!—5—>, чтобы использовать Notepad++, вы можете просто сделать это (все в одной строке):
git config —global core.editor «‘C:/Program Files/Notepad++/notepad++.exe’ -multiInst -notabbar -nosession -noPlugin»
очевидно C:/Program Files/Notepad++/notepad++.exe часть должна быть путем к исполняемому файлу Notepad++ в вашей системе. Например, это может быть C:/Program Files (x86)/Notepad++/notepad++.exe .
работает как шарм для меня.
в любом случае, я просто играл вокруг с этим и нашел следующее, Чтобы хорошо работать для меня:
Я не думаю, что CMD любит одинарные кавычки, поэтому вы должны использовать двойные кавычки»для указания встроенного строкового аргумента space».
Cygwin (который, я считаю, является базовой платформой для Bash Git), с другой стороны, любит оба ‘ и » ; вы можете указать CMD-подобные пути, используя / вместо \ , пока строка цитируется, т. е. в этот экземпляр, используя одинарные кавычки.
на -m переопределяет/указывает на использование нескольких редакторов, и нет необходимости в %* прикреплено на конце.
Edit: после обновления в Vim 7.3, я пришел к выводу, что самый чистый и простой способ сделать это:
добавьте основную папку Vim в свой путь (щелкните правой кнопкой мыши на моем компьютере -> свойства -> дополнительно -> Переменные среды)
выполнить это: git config —global core.editor «gvim —nofork ‘%*'»
Если вы сделаете это таким образом, то я уверен, что он будет работать и с cygwin.
Оригинал ответ:
даже с несколькими ответами, связанными с vim, мне было трудно заставить это работать с gvim под Windows (не используя пакетный файл или %EDITOR% или cygwin).
то, что я в конечном итоге пришел к хорошему и чистому, и черпает из нескольких решений здесь:
один gotcha, который занял у меня некоторое время, это не обратные косые черты в стиле Windows, это обычные косые черты.
Notepad++ работает просто отлично, хотя я предпочитаю придерживаться Блокнота,- m или даже иногда встроенного «редактирования».»
проблема, с которой вы сталкиваетесь с помощью Notepad++, связана с тем, как git запускает исполняемый файл редактора. Мое решение состоит в том, чтобы установить редактор в пакетный файл, а не в фактический исполняемый файл редактора, который делает следующее:
/ WAIT сообщает сеансу командной строки остановиться до выхода приложения, таким образом, Вы сможете редактировать к вашему сердцу, в то время как git счастливо ждет вас. %* передает все аргументы в пакетный файл через Notepad++.
Wordpad!
Я рад использовать vim, но так как я пытаюсь представить Git компании, я хотел что-то, что у всех нас было бы, и обнаружил, что Wordpad работает нормально (т. е. Git ждет, пока вы закончите редактирование и закроете окно).
это использование Git Bash на msysgit; я не пробовал из командной строки Windows (если это имеет значение).
Я также использую Cygwin в Windows, но с gvim (в отличие от терминал vim ).
чтобы сделать эту работу, я сделал следующее:
- создал однострочный пакетный файл (с именем git_editor.bat ), который содержит следующее:
«C:/Program Files/Vim/vim72/gvim.exe» —nofork «%*» - поместить git_editor.bat on in my PATH .
- Set GIT_EDITOR=git_editor.bat
С этим сделать, git commit , etc. правильно вызовет gvim выполнимый.
Примечание 1: —nofork опция для gvim гарантирует, что она блокирует, пока сообщение фиксации не будет написано.
примечание 2: кавычки вокруг пути к gvim требуется, если у вас есть пробелы в пути.
Примечание 3: кавычки вокруг «% * » необходимы на случай, если git передает путь к файлу с пробелами.
спасибо сообществу SO . и небольшое исследование я смог получить мой любимый редактор,EditPadPro, для работы в качестве основного редактора с msysgit 1.7.5.GIT и TortoiseGit v1.7.3.0 над WinXP SP3 .
следуя приведенному выше совету, я добавил путь к сценарию bash для редактора кода .
однако после нескольких неудачных попыток вышеупомянутых решений . Я наконец-то смог заставить это работать. За Документация EditPadPro, добавление флага «/ newinstance » позволит оболочке ждать ввода редактора .
в ‘ / newinstance флаг был ключом в моем случае .
В Vim/GVim Выступает работает хорошо для меня.
это 1 симптом больших проблем. Примечательно, что у вас есть что-то, устанавливающее TERM=dumb. Другие вещи, которые не работают должным образом, являются less команда, которая говорит, что у вас нет полностью функционального терминала. Похоже, что это чаще всего вызвано тем, что термин установлен на что-то в ваших глобальных переменных среды windows. Для меня проблема возникла, когда я установил Strawberry Perl некоторую информацию об этом на ошибка msysgit для этой проблемы а также несколько решения.
первое решение-исправить это в вашем
вы можете сделать это из подсказки Git BASH так:
другое решение, которое в конечном итоге является тем, что я сделал, потому что меня не волнуют причины Strawberry Perl для добавления TERM=dumb в Мои настройки среды, — это пойти и удалить термин=dumb as направлено в этом комментарии к отчету об ошибке msysgit.
контроль Панель / Система / Расширенная/Окружающая Среда Переменная. (или подобное, в зависимости от ваша версия Windows) где установлены переменные среды sticky в Windows. По умолчанию TERM не является набор. Если термин установлен там, то вы (или одна из программ, которые у вас есть установлено, например. Клубника на Perl) имеет установить ее. Удалите этот параметр, и вы должны быть хорошо.
аналогично, если вы используете Strawberry Perl и заботитесь о клиенте CPAN или что-то в этом роде, вы можете уйти the TERM=dumb в одиночку и использовать unset TERM в свой
/.файл bashrc, который будет иметь аналогичный эффект для установки явного термина, как указано выше.
конечно, все остальные решения правильны, что вы можете использовать git config —global core.editor $MYFAVORITEEDITOR чтобы убедиться, что git использует ваш любимый редактор, когда ему нужно запустить его для вас.
на Атом можно сделать
и аналогично для VSCode
, который откроет Атом или VSCode окно для вас, чтобы совершить через
или возвышенное
У меня был PortableGit 1.6, работающий нормально, но после обновления до PortableGit — 1.7 Windows release возникли проблемы. Некоторые из команд git открывают Notepad++.exe хорошо, но некоторые не делают, особенно git rebase ведет себя по-разному.
проблема в том, что некоторые команды запускают процесс Windows cmd, некоторые используют процесс Unix cmd. Я хочу дать атрибуты запуска редактору Notepad++ , поэтому нужно иметь настроенный скрипт. Мое решение таково.
1) Создайте скрипт для запуска соответствующий текстовый редактор. Скрипт выглядит странно, но обрабатывает как Windows, так и Unix. c:/PortableGit/cmd/git-editor.летучая мышь!—10—>
2) Установите глобальное ядро.переменная редактора Сценарий был сохранен в папке git / cmd, поэтому его уже в пути gitconsole, это обязательно, так как полный путь может работать неправильно.
теперь я могу запустить git commit-a и git rebase-i master команды. Попробуйте, если у вас есть проблемы в Git средства Windows.
Я использую git на нескольких платформах, и мне нравится использовать одни и те же настройки git на всех из них. (На самом деле, у меня есть все мои файлы конфигурации под контролем выпуска с git, и поместите клон репозитория Git на каждую машину.) Решение, которое я придумал, таково:
Я редактор to giteditor
затем я создаю символическую ссылку с именем giteditor, который находится в моем путь. (У меня есть личный bin каталог, но в любом месте путь строительство.) Эта ссылка указывает на мой текущий редактор выбора. На разных машинах и разных платформах я использую разные Редакторы, поэтому это означает, что мне не нужно менять свою универсальную конфигурацию git (.gitconfig хранит настройки), просто ссылку giteditor указывает.
символьные ссылки обрабатываются каждой известной мне операционной системой, хотя они могут использовать разные команды. Для Linux вы используете ln-s. Для Windows, вы используете cmd встроенный mklink. У них разные синтаксисы (которые вы должны посмотреть), но на самом деле все работает одинаково.
на основе VonC предложение выше, это сработало для меня (сводило меня с ума):
опущение -wait может вызвать проблемы, особенно если вы работаете с gerrit и изменить идентификаторы, которые должны быть вручную скопированы в нижней части сообщения фиксации