LINUX.ORG.RU

Для git вообще есть нормальный UI?

 ,


1

2

Посмотрел этот gitkraken, за него даже денежку просят для каких-то фич, но то, что я увидел в триале меня удручило.

Во-первых, не очень понятно, что эта тулза дает такого вау-полезного, чего уже не дает ублюдочный gitk.

Во-вторых, концепт панелей довольно глупый. Например, я хочу навигировать по истории, одним кликом нажимая на коммит, автоматически видеть изменения в виде диффа, не закрывая диффом весь вид дерева коммитов. Или даже в полностью отдельном окне, которое я могу передвинуть на второй монитор. Но в gitkraken я такого не нашел, т.е. если даже есть что-то подобное, то оно нифига не интуитивно.

И вот сижу я, и не понимаю, то ли никому не нужно удобство, эти инструменты как-то можно настроить, но не понятно, как, либо люди, которые за это платят какие-то алиены…

Может быть, git вообще не вполне подходит для сложного и обозреваемого версионирования и имеет смысл использовать коммерческие VCS для больших и сложных проектов?

★★★★★

Ядро линукс - достаточно большой и сложный проект?

Необходимый и достаточный гуй для гита - консоль.

aol ★★★★★
()

я юзал git-cola. для моих задач хватает… правда не очень понятно, что такое - «сложное и обозреваемое версионирование».

alysnix ★★★
()

Как-то пользовался magit, — вроде норм, но, все равно, вернулся к официальному клиенту.

urxvt ★★★★★
()
Ответ на: комментарий от zolden

Нихера не понятно что делают все эти кнопочки. «Синхронизировать изменения» - это блин что значит? А Фиксация? Нельзя по русски написать - commit или add или что это оно такое?

GUI нинужно.

А для навигирования по истории gitlab подойдет.

Suntechnic ★★★★★
()

Sourcetree, но его нет под линукс

static_lab ★★★★★
()

tortoisehg workbench :(

grem ★★★★★
()

gitkraken это не diff тула.
Я diff в idea смотрю и там хоть на весь экран, хоть в окне ide.
Кракен нужен именно для работы с гитом. Например сквоши и ребейсы гораздо удобнее. Но это именно для профессиональной работы. Для пет проектов это всё не нужно конечно.
Что ты вообще хочешь от этих тулов? Пойми цель и тебе стане проще.

Xunnu ★★
()
Ответ на: комментарий от dataman

С тех пор как в нём сделали terminal плагин я даже пытался им пользоваться, так как мне нужна авторизация по ssh.

Из плюшек в нём есть ограничение на количество подгужаемых коммитов в список - он просит вывод команд, поэтому тяжёлая репа его озадачит.

Но пока есть некоторые баги, частично пофикшенные в апстриме, но не в релизе, связанные с тем, что у длинного описания коммита отрезается первая строка при отображении. Если сделать amend, то она терялась навсегда.

Ещё не уверен, но в подробном описании коммита удаляются пустые строки - нужно будет перепроверить.

Не очень пока понял, при каких условиях становится активна кнопка diff, но и без нее двойным кликом можно смотреть изменения.

Но отображение веток есть.

Возможно, что с непривычки, но с lazygit я быстрее коммиты создаю, чем в gitqlient. Попробую почаще им пользоваться.

grem ★★★★★
()
Ответ на: комментарий от beastie

Скачал, попробовал.
До гиткракена очень далеко. Для простых проектов пойдёт.
На большом проекте показывает полную кашу.

Xunnu ★★
()

Например, я хочу навигировать по истории, одним кликом нажимая на коммит, автоматически видеть изменения в виде диффа, не закрывая диффом весь вид дерева коммитов. Или даже в полностью отдельном окне, которое я могу передвинуть на второй монитор. Но в gitkraken я такого не нашел, т.е. если даже есть что-то подобное, то оно нифига не интуитивно.

сложного и обозреваемого версионирования

Если я правильно понимаю, то здесь решается задача вида «в каком коммите были внесены эти изменения». В git она решается командой git log -S <фрагмент кода> [-p] [фильтр файлов]. На гигантских проектах с большой историей эта операции может быть весьма тормозной. Написать гуй, который не будет вставать колом в таких условиях и при этом будет хотя бы не менее юзабелен, чем консоль - задача очень непростая, я такого пока не встречал. Для продвинутой подсветки диффов можно использовать diffr, можно прописать его как глобальный diffFilter. Еще бывает бывает полезно анализировать историю с помощью git log --grep= и git grep, гуевины такое обычно умеют, но не всегда хорошо мастабируются.

Если задача в том, чтобы найти, в какие теги попал найденный коммит, используется git describe --contains).

Я использую git gui для того, чтобы создавать коммиты - в нем удобно ревьюить изменения и манипулировать индексом, добавляя в него только те чанки, которые относятся к теме коммита, а остальные остаются в дереве изменений или откатываются (при надобности можно делать это и с точностью до строки). При этом git gui отлично масштабируется на большие репы. Вызывается из консоли внутри репы, как обычная команда git.

annulen ★★★★★
()

magit - лучшее, что только существует

SL_RU ★★★★
()

плюсую за sublime merge. Другие делают модно и красиво, а тут реально все продумано и очень стабильно. И наплевать на проприетарность - кто никогда не пилил проприетарный софт за деньги, пусть первым бросит камень и все такое.

Lrrr ★★★★★
()

Meld для дифов больших. Для остального стэк VS Code + GitLens (можно еще Git Graph).

ac130kz ★★
()
Ответ на: комментарий от Xunnu

Лично я предпочитаю tig и plain git. Но спрашивали про gui, и из всего, что мне доводилось видеть, это самое не паршивое по сравнению с другим.

beastie ★★★★★
()
Ответ на: комментарий от grem

он просит вывод команд, поэтому тяжёлая репа его озадачит

Меня удивляет, почему автор не использует libgit2, которую использует и очень быстрая gitui (на Rust’е).

dataman ★★★★★
()
Ответ на: комментарий от dataman

По какой-то причине редко какой клиент использует libgit, чаще почему-то парсят вывод команд. Не знаю почему, возможно, что им так проще, а потом переписывать лень.

grem ★★★★★
()
Ответ на: комментарий от monkdt

Нет, гиткракен тормозное поделие на джс, попробуй открыть и побраузерить историю хотя бы на несколько десятков тысяч коммитов

Tweaker ★★★★☆
()

На лоре уже справедливо замечали, что git это довольно убогий и довольно таки кривой костыль одного гика для одного проекта. Не надо его везде тащить и думать что оно какой-то стандарт де факто, это не так.

untitl3d
()

Че то я к консоли привык. Но если че не очевидное нужно, то приходится мануал перечитывать.

rumgot ★★★★★
()
Ответ на: комментарий от dataman

Ещё недоделан, как и nushell. Багов и отсутствующих фич непаханное поле, может года через 3

ac130kz ★★
()

ищи или пиши сам

git - это «the way of doing things».

поэтому и UI должен быть заточен под то, что именно ты там делаешь git’ом.

Ваш КО.

mrjaggers
()
Ответ на: комментарий от aol

Там же не ванильный гит без хуков. Наверняка у каждого мейнтейнера куча велосепедной самопальной логики наверчено в хуках.

seiken ★★★★★
() автор топика
Ответ на: комментарий от seiken

ты уже опредлись, какие у тебя претензии?

то ему гуй подавай непременно, то у мейнтейнеров хуки в гите, следующий ход каков?

aol ★★★★★
()

Сколько раз я пытался потыкать разные GUI для git, но что-то каждый раз возвращался к обычной консоли.

Только в текстовый редактор команды для вызова стандартных тузлов добавил, а ля:

Gitk - Directory History
Gitk - File History
Git GUI
Git GUI - Blame
GitHub - Locate File
wandrien ★★★
()

Может быть, git вообще не вполне подходит для сложного и обозреваемого версионирования

Кажется, это был самый тонкий троллинг в истории))

lx1
()

Sublime Merge прекрасен.

Для пользователей vscode есть GitLens и Git Graph. Очень удобные, если активно работаешь с большим проектом, и надо вот прям сейчас и здесь посмотреть предысторию конкретно вот этого куска кода. Немного напрягают поползновения GitLens в сторону монетизации в последнее время.

GitKraken тормознутое непонятное смузи поделие 🙃

solvent
()
Ответ на: комментарий от aol

Мне интереснее на дерево истории проекта глянуть, в котором он хочет использовать гуй.

grem ★★★★★
()

Пользуюсь tig для просмотра дерева, коммитов и диффов, остальное делаю исключительно самим гитом.

mord0d ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.