Я хочу з'ясувати, до якого коміту я додав код, наведений нижче:
if (getListView().getChildCount() == 0)
getActivity().findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
Як мені цього досягти?
Я хочу з'ясувати, до якого коміту я додав код, наведений нижче:
if (getListView().getChildCount() == 0)
getActivity().findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
Як мені цього досягти?
Відповіді:
Запустити git blame
на файлі. Він покаже вам ідентифікатор коміту, дату та час, а також хто це зробив - для кожного рядка. Потім просто скопіюйте ідентифікатор коміту, і ви зможете використовувати його в git log <commit>
або git show <commit>
.
Наприклад, у мене є файл, який називається test.txt, із рядками, доданими до різних комітів:
$ cat test.txt
First line.
Second line.
Запуск git blame
:
$ git blame test.txt
^410c3dd (Leigh 2013-11-09 12:00:00 1) First line.
2365eb7d (Leigh 2013-11-09 12:00:10 2) Second line.
Перший біт - це ідентифікатор коміту, потім ім'я, потім дата, час, часовий пояс і, нарешті, номер рядка та вміст рядка.
git blame test.txt | grep 'First line'
git log -S searchTerm
дає вам коміти, в яких було введено пошуковий термін.
Існує щось швидше, ніж винесення звинувачення у повному файлі. Якщо рядок ${lineno}
і файл є, ${filename}
ви можете:
git blame -L ${lineno},${lineno} ${filename}
Приклад:
git blame -L 2,2 test.txt
git log -S "mention here line of code" [file-path]
Наприклад:
git log -S "First line" test.txt
Надання шляху до імені файлу очевидне, оскільки здебільшого ми хочемо знати, хто ввів певний сегмент коду в певний файл.
git log -S 'some code' path/to/file.c
Якщо код зберігається у Git
сховищі, а intellij
IDE разом із плагіном Git використовується для перегляду коду, то я знайшов такий спосіб дуже інтуїтивно зрозумілим:
intellij
Наступні скріншоти служать для посилань: