Вход | Регистрация
 

Посмотреть историю коммитов строки/блока кода

Посмотреть историю коммитов строки/блока кода
Я
   TormozIT
 
03.08.19 - 01:07
Посветите меня, есть ли какие то удобные инструменты для просмотра истории комитов строки/блока программного код. Желательно с картинками и ссылками.

Например есть 3 комита
1.
а = 1;
Для каждого Сч = 1 По А*2+1 Цикл
   Сообщить("Сч = " + Сч);
КонецЦикла

2.
а = 2;  // Изменили
Для каждого Сч = 1 По А*2+1 Цикл
   Сообщить("Сч = " + Сч);
   Е = Сч + 1; // Добавили
КонецЦикла

3.
а = 2;
Для каждого Сч = 1 По А*2+1 Цикл
   // Удалили
   Е = Сч + 1;
КонецЦикла

Задача №1
Открываю в редакторе актуальный модуль и вижу в первой строке модуля
а = 2;
Понимаю что она изменена и теперь хочу найти комит, в котором это произошло.

Задача №2
Открываю в редакторе актуальный модуль и вижу внутри цикла отсутствие нужной строки кода (ее удалили).
Хочу включить отображение всех когда-либо существовавших строк и найти там удаленную строку и найти комит, в котором ее удалили.
 
 
   palsergeich
 
1 - 03.08.19 - 01:22
(0) есть.
Гит называется
   palsergeich
 
2 - 03.08.19 - 01:24
Можно при помощи гит конвертера перенести и переносить в дальнейшем хранилище в гит.
То о чем ты говоришь это на вкладке blame вроде
   palsergeich
 
3 - 03.08.19 - 01:25
Именно это отвечает на тот вопрос кто и когда добавил эту строчку
   palsergeich
 
4 - 03.08.19 - 01:27
Можешь сделать приватный РЕПО на гитхабе.
Перенести при помощи гит конвертера или гитсинка историю хранилища и развлекаться с анализом
   palsergeich
 
5 - 03.08.19 - 01:28
15 минут настройка и регистрация, а вот перенос всей истории может занять н-е количество времени.
   palsergeich
 
6 - 03.08.19 - 01:36
Мануалы что по
Gitconverter что по gitsynk более чем подробные присутствуют
   TormozIT
 
7 - 03.08.19 - 01:39
Не хотелось бы в этой теме углубляться в гитсинки.
Где картинки то? Интересует как это выглядит в любых GUI клиентах гита и других систем контроля версий.
Строку могли менять много раз и, чтобы быстро найти нужное изменение среди этих раз, нужно увидеть не только идентификаторы комитов, но и как минимум сами изменения строки, а иногда еще и придется открывать сравнение модуля, чтобы проанализировать окрестности.
   TormozIT
 
8 - 03.08.19 - 01:48
Насколько я понял после чтения форумов git -blame не решает все описанные мной задачи. Она показывает только срез последних по текущим строкам модуля (опционально для выбранного комита). Задачу №2 это вообще не решает, а задачу №1 решает но без дополнение (7).

Please note that git blame does not show the per-line modifications history in the chronological sense. It only show who was the last person to have changed a line in a document up to the last commit in HEAD.
That is to say that in order to see the full history/log of a document line, you would need to run a git blame path/to/file for each commit in your git log.
https://git-scm.com/docs/git-blame
   palsergeich
 
9 - 03.08.19 - 02:34
(8) есть ещё history
   palsergeich
 
10 - 03.08.19 - 02:35
Там на самом деле много чего есть
   palsergeich
 
11 - 03.08.19 - 02:38
Я просто на даче и поскринить не могу, но ИМХО, вроде все поставленные задачи покрываются
   palsergeich
 
12 - 03.08.19 - 02:40
Там ыс щаморочка это настроить окружение, ввести одну консольную команду и подождать
   palsergeich
 
13 - 03.08.19 - 02:42
Но реально можно увидеть все коммиты, сравнить окружения + комментарии и это быстро
   Beduin
 
14 - 03.08.19 - 03:36
(0) Ты хотя бы хелло ворд прочитай
https://guides.github.com/activities/hello-world/
   TormozIT
 
15 - 03.08.19 - 08:11
(14) Ну вот и умные люди подтянулись. Спасибо. Теперь все стало предельно ясно.
   TormozIT
 
16 - 05.08.19 - 10:09
Может у кого еще есть подобный опыт?
   palsergeich
 
17 - 05.08.19 - 10:18
(16) у меня.
Имя с тобой поделился.
   palsergeich
 
18 - 05.08.19 - 10:18
И я с тобой поделился.
   TormozIT
 
19 - 05.08.19 - 10:20
(18) Спасибо. Я почитал, но увидел 0 ссылок и картинок.
   Вафель
 
20 - 05.08.19 - 10:23
юзай source tree для гита.
там все есть
   TormozIT
 
21 - 05.08.19 - 11:01
(20) В Source Tree нашел только страницу "Авторство изменений" (для решения задачи №1) http://store.x1c.ru/upload/iblock/3ea/3ea1201242ca9a65b36c44e2d2630a26.png , но там очень коряво показывается и нет для каждой строки колонки с явным указанием комита или автора.

В tortoisesvn тоже есть "Авторство изменений" https://tortoisesvn.net/docs/nightly/TortoiseSVN_ru/help-onepage.html#tsvn-dug-blame-diffs , но скриншота пока не нашел.
   Глок 17
 
22 - 05.08.19 - 17:15
(0) Можно. Посмотри блейм по этой строке. Какая у тебя система контроля версий используется?
   TormozIT
 
23 - 06.08.19 - 07:09
(22) По blame смотри (8). Система контроля версий любая. Меня интересует все варианты решения этих задач желательно сразу в GUI в любых системах контроля версий.
   TormozIT
 
24 - 08.08.19 - 09:40
В Visual Studio Enterprise 2017 над каждым методом C# есть подсказка с гиперссылками, одна из которых показывает историю комиттов по методу. https://docs.microsoft.com/ru-ru/visualstudio/ide/media/codelens-overview.png?view=vs-2019
   TormozIT
 
25 - 08.08.19 - 09:51
(24) Картинкой ошибся. Вот правильная https://docs.microsoft.com/en-us/visualstudio/ide/media/codelens-contact-info.png?view=vs-2019
   Asmody
 
26 - 08.08.19 - 10:01
Для vscode есть расширение GitLens. В нем есть окошко line history. Но если был какой "бешенный рефакторинг", то там, конечно, каша получается.
   TormozIT
 
27 - 08.08.19 - 10:03
(26) Спасибо. Вот нашел скриншот этого расширения GitLens в VSCode https://i1.wp.com/wahlnetwork.com/wp-content/uploads/2017/11/git-lens-example-sql.png
   TormozIT
 
28 - 08.08.19 - 10:09
(26) Еще нашел в расширении GitLens в VSCode фичу "Line history view". Судя по названию и описанию очень похоже на решение моей задачи №2, но скриншота подходящего под такое решение пока не нашел. https://github.com/eamodio/vscode-gitlens/tree/master/#line-history-view-
   Asmody
 
29 - 08.08.19 - 10:45
(28) Вот такое? https://i.imgur.com/XwdRSmv.png
   Asmody
 
30 - 08.08.19 - 10:46
(29)+ в редакторе выбрана 4 строка
 
 Рекламное место пустует
   TormozIT
 
31 - 08.08.19 - 10:59
В EDT есть фича "Show revision information" в контекстном меню https://i.imgur.com/qfS3Muq.png - показывает последние изменения по каждой строке. Попробовал очень удобно.
   TormozIT
 
32 - 08.08.19 - 11:03
(29) Да. Похоже на решение задачи №2. А можно еще сами изменения строки для непервого комита показать?
   TormozIT
 
33 - 08.08.19 - 11:14
(32) Точнее для непоследнего комита (в общем из середины списка).


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.