Имя: Пароль:
IT
 
Посмотреть историю коммитов строки/блока кода
0 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
Открываю в редакторе актуальный модуль и вижу внутри цикла отсутствие нужной строки кода (ее удалили).
Хочу включить отображение всех когда-либо существовавших строк и найти там удаленную строку и найти комит, в котором ее удалили.
1 palsergeich
 
03.08.19
01:22
(0) есть.
Гит называется
2 palsergeich
 
03.08.19
01:24
Можно при помощи гит конвертера перенести и переносить в дальнейшем хранилище в гит.
То о чем ты говоришь это на вкладке blame вроде
3 palsergeich
 
03.08.19
01:25
Именно это отвечает на тот вопрос кто и когда добавил эту строчку
4 palsergeich
 
03.08.19
01:27
Можешь сделать приватный РЕПО на гитхабе.
Перенести при помощи гит конвертера или гитсинка историю хранилища и развлекаться с анализом
5 palsergeich
 
03.08.19
01:28
15 минут настройка и регистрация, а вот перенос всей истории может занять н-е количество времени.
6 palsergeich
 
03.08.19
01:36
Мануалы что по
Gitconverter что по gitsynk более чем подробные присутствуют
7 TormozIT
 
гуру
03.08.19
01:39
Не хотелось бы в этой теме углубляться в гитсинки.
Где картинки то? Интересует как это выглядит в любых GUI клиентах гита и других систем контроля версий.
Строку могли менять много раз и, чтобы быстро найти нужное изменение среди этих раз, нужно увидеть не только идентификаторы комитов, но и как минимум сами изменения строки, а иногда еще и придется открывать сравнение модуля, чтобы проанализировать окрестности.
8 TormozIT
 
гуру
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
9 palsergeich
 
03.08.19
02:34
(8) есть ещё history
10 palsergeich
 
03.08.19
02:35
Там на самом деле много чего есть
11 palsergeich
 
03.08.19
02:38
Я просто на даче и поскринить не могу, но ИМХО, вроде все поставленные задачи покрываются
12 palsergeich
 
03.08.19
02:40
Там ыс щаморочка это настроить окружение, ввести одну консольную команду и подождать
13 palsergeich
 
03.08.19
02:42
Но реально можно увидеть все коммиты, сравнить окружения + комментарии и это быстро
14 Beduin
 
03.08.19
03:36
(0) Ты хотя бы хелло ворд прочитай
https://guides.github.com/activities/hello-world/
15 TormozIT
 
гуру
03.08.19
08:11
(14) Ну вот и умные люди подтянулись. Спасибо. Теперь все стало предельно ясно.
16 TormozIT
 
гуру
05.08.19
10:09
Может у кого еще есть подобный опыт?
17 palsergeich
 
05.08.19
10:18
(16) у меня.
Имя с тобой поделился.
18 palsergeich
 
05.08.19
10:18
И я с тобой поделился.
19 TormozIT
 
гуру
05.08.19
10:20
(18) Спасибо. Я почитал, но увидел 0 ссылок и картинок.
20 Вафель
 
05.08.19
10:23
юзай source tree для гита.
там все есть
21 TormozIT
 
гуру
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 , но скриншота пока не нашел.
22 Глок 17
 
05.08.19
17:15
(0) Можно. Посмотри блейм по этой строке. Какая у тебя система контроля версий используется?
23 TormozIT
 
гуру
06.08.19
07:09
(22) По blame смотри (8). Система контроля версий любая. Меня интересует все варианты решения этих задач желательно сразу в GUI в любых системах контроля версий.
24 TormozIT
 
гуру
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
25 TormozIT
 
гуру
08.08.19
09:51
(24) Картинкой ошибся. Вот правильная https://docs.microsoft.com/en-us/visualstudio/ide/media/codelens-contact-info.png?view=vs-2019
26 Asmody
 
08.08.19
10:01
Для vscode есть расширение GitLens. В нем есть окошко line history. Но если был какой "бешенный рефакторинг", то там, конечно, каша получается.
27 TormozIT
 
гуру
08.08.19
10:03
(26) Спасибо. Вот нашел скриншот этого расширения GitLens в VSCode https://i1.wp.com/wahlnetwork.com/wp-content/uploads/2017/11/git-lens-example-sql.png
28 TormozIT
 
гуру
08.08.19
10:09
(26) Еще нашел в расширении GitLens в VSCode фичу "Line history view". Судя по названию и описанию очень похоже на решение моей задачи №2, но скриншота подходящего под такое решение пока не нашел. https://github.com/eamodio/vscode-gitlens/tree/master/#line-history-view-
29 Asmody
 
08.08.19
10:45
(28) Вот такое? https://i.imgur.com/XwdRSmv.png
30 Asmody
 
08.08.19
10:46
(29)+ в редакторе выбрана 4 строка
31 TormozIT
 
гуру
08.08.19
10:59
В EDT есть фича "Show revision information" в контекстном меню https://i.imgur.com/qfS3Muq.png - показывает последние изменения по каждой строке. Попробовал очень удобно.
32 TormozIT
 
гуру
08.08.19
11:03
(29) Да. Похоже на решение задачи №2. А можно еще сами изменения строки для непервого комита показать?
33 TormozIT
 
гуру
08.08.19
11:14
(32) Точнее для непоследнего комита (в общем из середины списка).