|
Как переместить файлы внутри гит репозитория через GUI, сохраняя их историю? | ☑ | ||
---|---|---|---|---|
0
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
|
Обычно гит понимает что файл перемещен
|
|||
2
TormozIT
гуру
17.09.21
✎
08:05
|
(1) Да, че то такое читал, но там используются эвристические алгоритмы для понимания этого, а значит нет гарантии.
У консольного гита есть команда "move", которая вроде делает это надежно. Но я не нашел ее в GUI клиентах. |
|||
3
ДенисЧ
17.09.21
✎
08:10
|
Черепашка запросто умеет.
Только в русском варианте (что у меня) это не переместить, а переименовать. |
|||
4
TormozIT
гуру
17.09.21
✎
08:22
|
(3) А слоник умеет?
|
|||
5
TormozIT
гуру
17.09.21
✎
08:22
|
Я видимо не в теме. Где прочитать про жаргонные обозначения всех гит клиентов?
|
|||
6
ДенисЧ
17.09.21
✎
08:24
|
(5) TortoiseGIT - как на русский перевести?
|
|||
7
TormozIT
гуру
17.09.21
✎
08:28
|
(6) Ну я же не переводил SourceTree на русский, как и авторы локализации на моей картинке. Жаргонные обозначения использовать тогда, когда есть высокая уверенность, что читатель их знает.
Можешь сделать картинку? |
|||
8
ДенисЧ
17.09.21
✎
08:32
|
||||
9
TormozIT
гуру
17.09.21
✎
09:04
|
Набрался смелости и переместил в файловой системе. Вроде бы все файлы при отправке коммита он связал со старыми (обнаружил перемещение).
https://i.imgur.com/RqaDVeA.png Но теперь у меня для всех модулей перестала отображаться всплывающая подсказка по изменениям строки модуля https://i.imgur.com/jHLRrJq.png А вот как это было https://i.imgur.com/w5XTf57.png |
|||
10
TormozIT
гуру
17.09.21
✎
09:05
|
(9) Перестала отображаться подсказка в Visual Studio Code с расширением GitCodeLens.
|
|||
11
TormozIT
гуру
17.09.21
✎
09:11
|
(10) ОШибка. Расширение называется GitLens, а не GitCodeLens
|
|||
12
Вафель
17.09.21
✎
09:36
|
(10) git blame то работает?
|
|||
13
TormozIT
гуру
17.09.21
✎
09:37
|
(12) только GUI умею. Вроде в заголовке написано.
|
|||
14
Вафель
17.09.21
✎
09:42
|
(13) ну так учись
|
|||
15
fisher
17.09.21
✎
10:12
|
Пишут что есть два основных способа:
1. git mv 2. Можно переместить и мимо гита, но в гите это потом надо оформить как git add <куда> и git rm <откуда> Соответственно в гуе скорее всего должна быть гуевая опция перемещения, которая под капотом сделает git mv Но раз ты уже сделал это мимо гуя, то попробуй сделать git rm <откуда>. Думаю, что git add <куда> гуй уже сделал сам. |
|||
16
fisher
17.09.21
✎
10:24
|
Короче, народ пишет что это боль. git не отслеживает переименования/переносы в части сохранения сквозной истории. И Линус отвечал в том духе что "и не должно, идите нахрен".
Якобы использование опции --follow для git log может догадаться показать общую историю, но т.к. оно работает через костыли, то соответственно работает не всегда. |
|||
17
fisher
17.09.21
✎
10:26
|
Так что скорее всего твой гуй отработал как мог, но сквозная история не подтягивается потому что а кому сейчас легко
|
|||
18
fisher
17.09.21
✎
10:39
|
--follow
Continue listing the history of a file beyond renames (works only for a single file) Если гуй развесистый, то можно попробовать поискать где-то соответствующую "птичку". |
|||
19
TormozIT
гуру
20.09.21
✎
08:27
|
(10) Описал способ обхода проблемы тут Перестала отображаться информация о комитте в Visual Studio Code с расширением GitLens
|
|||
20
fisher
20.09.21
✎
09:39
|
(19) Вероятно, "Open line changes with previous version" в GUI это и есть аналог вызова git log --follow в CLI
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |