Я відносно новачка в git, раніше я використовувала Subversion.
Я помітив, що більшість графічних git-фронтальних та IDE-плагінів, здається, не можуть відобразити історію файлу, якщо файл був перейменований. Коли я користуюся
git log --follow
у командному рядку я можу побачити весь журнал у перейменах.
За словами Лінуса Торвальдса, перемикач --фоллоу - це плеєр "SVN noob", серйозні користувачі git не користуються ним:
--follow - це тотальний хак, призначений просто задовольнити колишніх користувачів SVN, які ніколи нічого не знали про такі речі, як батьківство чи гарні графіки перегляду.
Це не зовсім фундаментально, але нинішня реалізація "- наступного" - це дійсно швидка попередня обробка, яка зафіксована на логіці переходу до редагування, а не в тому, що є щось дійсно цілісне.
Буквально він був розроблений як плісера "SVN noob", а не як "справжня функціональність git". Ідея полягала в тому, що ви відволічетеся від (зламаного) мислення, яке перейменовує матерію у великій картині.
Моє запитання : Як користувачі хардкор-git серед вас отримують історію файлу, коли він перейменований? Який "реальний" спосіб це зробити?
/bin/mv oldfile newfile), але потім робите git add newfile; git rm oldfile, результат не відрізняється від цього git mv oldfile newfile.
git log --followтрохи покращується git 2.9 (червень 2016): дивіться мою відповідь нижче
--color-movedвами diff.
git mv oldfile newfileне викликає перейменування повинні бути записані на всіх - це точно так же , як видалення одного файлу і додавання іншого. git працює лише перейменовує та копіює стан дерева при кожному введенні після факту.