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

Как переместить файлы внутри гит репозитория через GUI, сохраняя их историю?

Как переместить файлы внутри гит репозитория через GUI, сохраняя их историю?
Я
   TormozIT
 
17.09.21 - 08:01
Как переместить файлы и папки внутри гит репозитория https://i.imgur.com/4Hukeex.png , сохраняя их историю? В каких гит клиентах это можно сделать?
Тут https://stackoverflow.com/questions/10915858/where-is-git-mv-in-sourcetree пишут, что в SourceTree в меню "Действия" есть команда "Переместить". Но я ее там не вижу https://i.imgur.com/NhoBbWm.png
Если я их просто перемещу в файловой системе, то сохранится ли история? Как я понимаю, нет.
   Вафель
 
1 - 17.09.21 - 08:02
Обычно гит понимает что файл перемещен
   TormozIT
 
2 - 17.09.21 - 08:05
(1) Да, че то такое читал, но там используются эвристические алгоритмы для понимания этого, а значит нет гарантии.
У консольного гита есть команда "move", которая вроде делает это надежно. Но я не нашел ее в GUI клиентах.
   ДенисЧ
 
3 - 17.09.21 - 08:10
Черепашка запросто умеет.
Только в русском варианте (что у меня) это не переместить, а переименовать.
   TormozIT
 
4 - 17.09.21 - 08:22
(3) А слоник умеет?
   TormozIT
 
5 - 17.09.21 - 08:22
Я видимо не в теме. Где прочитать про жаргонные обозначения всех гит клиентов?
   ДенисЧ
 
6 - 17.09.21 - 08:24
(5) TortoiseGIT - как на русский перевести?
   TormozIT
 
7 - 17.09.21 - 08:28
(6) Ну я же не переводил SourceTree на русский, как и авторы локализации на моей картинке. Жаргонные обозначения использовать тогда, когда есть высокая уверенность, что читатель их знает.
Можешь сделать картинку?
   ДенисЧ
 
8 - 17.09.21 - 08:32
   TormozIT
 
9 - 17.09.21 - 09:04
Набрался смелости и переместил в файловой системе. Вроде бы все файлы при отправке коммита он связал со старыми (обнаружил перемещение).
https://i.imgur.com/RqaDVeA.png

Но теперь у меня для всех модулей перестала отображаться всплывающая подсказка по изменениям строки модуля
https://i.imgur.com/jHLRrJq.png

А вот как это было
https://i.imgur.com/w5XTf57.png
   TormozIT
 
10 - 17.09.21 - 09:05
(9) Перестала отображаться подсказка в Visual Studio Code с расширением GitCodeLens.
   TormozIT
 
11 - 17.09.21 - 09:11
(10) ОШибка. Расширение называется GitLens, а не GitCodeLens
   Вафель
 
12 - 17.09.21 - 09:36
(10) git blame то работает?
   TormozIT
 
13 - 17.09.21 - 09:37
(12) только GUI умею. Вроде в заголовке написано.
   Вафель
 
14 - 17.09.21 - 09:42
(13) ну так учись
   fisher
 
15 - 17.09.21 - 10:12
Пишут что есть два основных способа:
1. git mv
2. Можно переместить и мимо гита, но в гите это потом надо оформить как git add <куда> и git rm <откуда>
Соответственно в гуе скорее всего  должна быть гуевая опция перемещения, которая под капотом сделает git mv
Но раз ты уже сделал это мимо гуя, то попробуй сделать git rm <откуда>. Думаю, что git add <куда> гуй уже сделал сам.
   fisher
 
16 - 17.09.21 - 10:24
Короче, народ пишет что это боль. git не отслеживает переименования/переносы в части сохранения сквозной истории. И Линус отвечал в том духе что "и не должно, идите нахрен".
Якобы использование опции --follow для git log может догадаться показать общую историю, но т.к. оно работает через костыли, то соответственно работает не всегда.
   fisher
 
17 - 17.09.21 - 10:26
Так что скорее всего твой гуй отработал как мог, но сквозная история не подтягивается потому что а кому сейчас легко
   fisher
 
18 - 17.09.21 - 10:39
--follow
Continue listing the history of a file beyond renames (works only for a single file)

Если гуй развесистый, то можно попробовать поискать где-то соответствующую "птичку".
   TormozIT
 
19 - 20.09.21 - 08:27
   fisher
 
20 - 20.09.21 - 09:39
(19) Вероятно, "Open line changes with previous version" в GUI это и есть аналог вызова git log --follow в CLI

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