Сидел на SourceTree, но они там что-то наобновляли и из просто неторопливой она превратилась в нечто непригодное к использованию. Любое действие — и жди десятки секунд пока прочухается. Git из консоли и другие клиенты работают молниеносно. Переустановил даже винду и всё с нуля поставил, не помогло.
Какой клиент порекомендуете? Пожелания:
1. Одновременно можно открыть несколько репозиториев, быстрая навигация по репозиториям.
2. Отображение истории и текущих изменений без открытия дополнительных окон.
3. Возможность быстро откатывать изменения. В т.ч. построчно.
4. При коммите возможность выбора того, что застейджить построчно.
5. Удобная работа с сабмодулями.
6. Бесплатный, в т.ч. для коммерческого использования.
Сам смотрел:
1. TortoiseGit — мне нужно постоянно открытое окно, в котором я вижу текущую ситуацию. А здесь только временные окошки открываемые из контекстного меню.
2. "Родной" git-gui. Слабоват функционалом. Нет команды откатить файл к предыдущему состоянию. Построчно выбирать, что комитить тоже не дает. "Перепутаны местами" основное окно и окно коммита, почему-то всегда аоткрыто окно коммита, а окно с историей открывается отдельно.
3. Git Extenstions — сейчас пользуюсь им. Неудобно, что для просмотра текущих изменений нужно открывать окно коммита. Не хватает списка имеющихся веток, не хватает табов, не хватает горячих клавиш (в окне коммита нельзя закоммитить с клавиатуры, только мышкой). Так вроде работает шустро, всё что нужно более-менее делает, но сыроват.
Здравствуйте, Рома Мик, Вы писали:
РМ>2. "Родной" git-gui. Слабоват функционалом. Нет команды откатить файл к предыдущему состоянию. Построчно выбирать, что комитить тоже не дает. "Перепутаны местами" основное окно и окно коммита, почему-то всегда аоткрыто окно коммита, а окно с историей открывается отдельно.
1. Построчно выбирать можно и всегда так было.
2. Окна не перепутаны. То что ты называешь основным окном — это gitk (или gitk --all).
Здравствуйте, Рома Мик, Вы писали:
РМ>Сидел на SourceTree, но они там что-то наобновляли и из просто неторопливой она превратилась в нечто непригодное к использованию. Любое действие — и жди десятки секунд пока прочухается. Git из консоли и другие клиенты работают молниеносно. Переустановил даже винду и всё с нуля поставил, не помогло.
Я кстати с него тоже спрыгнул (а юзал с первой версии):
— из diffview сделали какую-то хрень, особенно если встречаются "широкие" файлы. Репортил проблемы. Они даже чинили. Потом они это опять переделали и опять в ещё более неудобное.
— его нужно открывать отдельно да ещё регистрировать репозитории, я же часто навигируюсь через FAR и мне чаще нужна просто вменяемая GUI коммитилка, или браузер но именно по месту, а не по списку зареганых репозиториев. Мэнтенить список зареганых... не удобно. Иногда нужно сделать временный клон для утилитарных задач, или переключиться в "другой" контекст без трогания текущего репозитрия / рабочей копии / открытых студий и т.п.
— после каких-то изменений... он стал как-то странно реагировать на изменения в ФС (?), и забывать текущую позицию курсора, как раз в то время когда я выбираю что стэйджить. Может уже даже пофиксили, но, похоже тот случай, когда с ростом версий качество начинает падать.
В итоге, усилием воли опять попробовал Git Extensions, и наконец-то обнаружил, что это как раз то, к чему я привык начиная ещё с tortoisehg. Не так красиво...
Но, нужна коммитилка — просто в консоли gitex commit. Нужно дерево — gitex browse.
Все и даже больше операций которые нужны day-to-day — покрыты в GUI.
PM>2. "Родной" git-gui. Слабоват функционалом. Нет команды откатить файл к предыдущему состоянию. Построчно выбирать, что комитить тоже не дает. "Перепутаны местами" основное окно и окно коммита, почему-то всегда аоткрыто окно коммита, а окно с историей открывается отдельно.
Слабоват, и угловат. Но не заменим как тулза для браузинга экстремально больших репов.
РМ>3. Git Extenstions — сейчас пользуюсь им. Неудобно, что для просмотра текущих изменений нужно открывать окно коммита. Не хватает списка имеющихся веток, не хватает табов, не хватает горячих клавиш (в окне коммита нельзя закоммитить с клавиатуры, только мышкой). Так вроде работает шустро, всё что нужно более-менее делает, но сыроват.
Когда начал отвечать, это пропустил... В общем, на мой (личный) взгляд — он в любом случае крайне лучше, чем всё остальное.
Что касается отсутствия табов, — то, соглашусь, что это порой удобно. Однако именно их остутствие (не навязывание) тебе позволяет открыть столько инстансов gitex, сколько необходимо, на один или несколько репозиториев, без нарушения in-window workflow. Т.е. открыли gitex и смотрим историю/diff какого-нибудь коммита, а в другом инстансе gitex — пытаемся коммитить/мержить/whatever. SourceTree, например — сдувается на подобного рода использовании, т.к. (как минимум по дефолту) два sourcetree запустить трудновато...
Здравствуйте, Рома Мик, Вы писали:
РМ>3. Git Extenstions — сейчас пользуюсь им.
Пользуюсь им, из всех опробованных клиентов оказался наиболее удобным, для меня.
РМ>не хватает горячих клавиш (в окне коммита нельзя закоммитить с клавиатуры, только мышкой).
Для коммита — Ctrl + Enter
ЗЫ. Для команд stage/unstage/reset построчно тоже есть свои шорткаты — S / U / R соответственно
Здравствуйте, Рома Мик, Вы писали:
РМ>У меня так не работает...
Я надеюсь мы про окно коммита говорим? У меня в настройках все тоже самое, все по дефолту, но это работает уже много лет как на разных компах и у меня и ребят, с которыми работаю.
ЗЫ. Ели не работает, то возможно, какая-то внешняя тулза перехватывает этот хоткей, как делает это например драйвер от интела, из-за которого может не работать в редакторах Ctrl+Shift+Up/Down
Здравствуйте, Рома Мик, Вы писали:
РМ>Методом тыка выяснил, что это shift-enter, а не ctrl+enter...
Но только если не активен контрол ввода текста, в этом случае просто вставляет перевод строки
Здравствуйте, Рома Мик, Вы писали:
РМ>>Методом тыка выяснил, что это shift-enter, а не ctrl+enter... РМ>Но только если не активен контрол ввода текста, в этом случае просто вставляет перевод строки
У меня Ctrl+Enter работает и если активен контрол ввода и если не активен. Я бы все-таки глянул подробнее, почти уверен, что у тебя глобально что-то перехватывает это сочетание клавиш
Здравствуйте, rameel, Вы писали:
R>У меня Ctrl+Enter работает и если активен контрол ввода и если не активен. Я бы все-таки глянул подробнее, почти уверен, что у тебя глобально что-то перехватывает это сочетание клавиш
Поправочка Работает только если активен контрол ввода... Что-то мне всегда казалось, что работает везде, а тут вот оно как — Ctrl+Enter при активном контроле ввода, Shift+Enter — при не активном
Здравствуйте, rameel, Вы писали:
R>У меня Ctrl+Enter работает и если активен контрол ввода и если не активен. Я бы все-таки глянул подробнее, почти уверен, что у тебя глобально что-то перехватывает это сочетание клавиш
В других программах работает... А у тебя версия какая?
Здравствуйте, rameel, Вы писали:
R>Здравствуйте, rameel, Вы писали:
R>>У меня Ctrl+Enter работает и если активен контрол ввода и если не активен. Я бы все-таки глянул подробнее, почти уверен, что у тебя глобально что-то перехватывает это сочетание клавиш
R>Поправочка Работает только если активен контрол ввода... Что-то мне всегда казалось, что работает везде, а тут вот оно как — Ctrl+Enter при активном контроле ввода, Shift+Enter — при не активном
Да!
И вообще как-то странно работает. Если я нажимаю ctrl-enter "как обычно", то не срабатывает. А если я нажимаю ctrl, немножко выжидаю, а потом enter, то работает.
Здравствуйте, Рома Мик, Вы писали:
РМ>Сидел на SourceTree, но они там что-то наобновляли и из просто неторопливой она превратилась в нечто непригодное к использованию. Любое действие — и жди десятки секунд пока прочухается. Git из консоли и другие клиенты работают молниеносно. Переустановил даже винду и всё с нуля поставил, не помогло.
Хорошая затравка для КСВ
РМ>Какой клиент порекомендуете?
Встроенный в QtCreator удовлетворяет меня на 95%
РМ>Пожелания: РМ>1. Одновременно можно открыть несколько репозиториев, быстрая навигация по репозиториям.
Без проблем. Только действия гита привязаны к открытому файлу или активному проекту, т.е. нет понятния "текущий католог" без открытого файла или активного проекта.
РМ>2. Отображение истории и текущих изменений без открытия дополнительных окон.
git diff в текущем окне.
РМ>3. Возможность быстро откатывать изменения. В т.ч. построчно.
Есть.
РМ>4. При коммите возможность выбора того, что застейджить построчно.
Есть, но если изменения рядом и их надо "разбить", то "разбить" их можно только из коммандной строки.
РМ>5. Удобная работа с сабмодулями.
Что-то специальное нужно?
РМ>6. Бесплатный, в т.ч. для коммерческого использования.
Да.
Еще замечательный интерактивный ребейз, блейм и прочее.
Здравствуйте, Skorodum, Вы писали:
РМ>>Сидел на SourceTree, но они там что-то наобновляли и из просто неторопливой она превратилась в нечто непригодное к использованию. Любое действие — и жди десятки секунд пока прочухается. Git из консоли и другие клиенты работают молниеносно. Переустановил даже винду и всё с нуля поставил, не помогло. S>Хорошая затравка для КСВ
И мысли не было. Я не приукрашивал, изложил как есть.
РМ>>Какой клиент порекомендуете? S>Встроенный в QtCreator удовлетворяет меня на 95%
Как жаль, что проекты не на C++. Вообще встроенный прям в IDE — это должно быть действитеьно удобно.
РМ>>5. Удобная работа с сабмодулями. S>Что-то специальное нужно?
Как и всё в юзабилити это вопрос мелочей.
В Git Extensions открыть сабмодуль или родительский проект можно через выпадающие меню, а хотелось бы постоянно видеть дерево сабмодулей от корневого проекта и в него тыкать.
SourceTree может при пуше и подпроекты тоже запушить, а Git Extensions просто ругается и надо руками открывать подпроект и пушить, а потом пушить то, что собирался изначально.
Может быть было бы удобно видеть все изменения из всех сабмодулей вместе в одном окне, но я такого нигде не видел.
Здравствуйте, Рома Мик, Вы писали:
РМ>Здравствуйте, Skorodum, Вы писали:
РМ>>>Переустановил даже винду и всё с нуля поставил, не помогло. S>>Хорошая затравка для КСВ РМ>И мысли не было. Я не приукрашивал, изложил как есть.
Вот именно!
РМ>>>Какой клиент порекомендуете? S>>Встроенный в QtCreator удовлетворяет меня на 95% РМ>Как жаль, что проекты не на C++. Вообще встроенный прям в IDE — это должно быть действитеьно удобно.
QtCreator просто как редактор по умолчанию хорош, а сборку там можно любую настроить. Но речь ведь скорее всего про C# или Java и нужна еще и отладка.
Здравствуйте, Skorodum, Вы писали:
РМ>>>>Какой клиент порекомендуете? S>>>Встроенный в QtCreator удовлетворяет меня на 95% РМ>>Как жаль, что проекты не на C++. Вообще встроенный прям в IDE — это должно быть действитеьно удобно. S>QtCreator просто как редактор по умолчанию хорош, а сборку там можно любую настроить. Но речь ведь скорее всего про C# или Java и нужна еще и отладка.
Речь про haxe который компилируется в JavaScript (и в C++), отладка пока в браузере. Но вот автодополнение, рефакторинг, навигация по проекту (перейти к определению, найти все упоминания) нужны.