Вихідний файл журналу журналу Git


83

Я виконую завдання в університетському курсі і використовую git як контроль версій для цього завдання. Гра, над якою я працював, закінчена, однак, разом із вкладеним, я хотів би подати git-журнал, фактично показуючи мій прогрес за час роботи над ним.

Я спробував це:

git log --stat > log.log

Але це більш-менш просто дає мені дуже нечитабельні речі. Хто-небудь може мені допомогти з командою, щоб я міг отримати приємне форматування цього?


На чому ви хочете зосередити результати? Повідомлення комітів? Розгалуження? Дати? Файли? Зміни?
GoZoner

Відповіді:


133

Я б рекомендував використовувати інший формат, ніж стандартний. Моїм звичайним вибором є зведення з графіком, але, як правило, лише один підсумок рядка робить трюк.

Варіант 1: Зведення в один рядок з графіком

git log --pretty=format:'%h : %s' --graph > log.log

Призводить до:

* 2d3acf9 : ignore errors from SIGCHLD on trap
*   5e3ee11 : Merge branch 'master' of git://github.com/dustin/grit
|\  
| * 420eac9 : Added a method for getting the current branch.
* | 30e367c : timeout code and tests
* | 5a09431 : add timeout protection to grit
* | e1193f8 : support for heads with slashes in them
|/  
* d6016bc : require time for xmlschema

Варіант 2: Зведення в один рядок без графіку

git log --pretty=format:'%h was %an, %ar, message: %s' > log.log

Призводить до:

a6b444f was Scott Chacon, 5 days ago, message: dammit, this is the second time this has re
49d77f7 was Scott Chacon, 8 days ago, message: modified index to create refs/heads if it i
9764edd was Hans Engel, 11 days ago, message: Add diff-lcs dependency
e1ba1e3 was Hans Engel, 11 days ago, message: Add dependency for Open4
0f87b4d was Scott Chacon, 12 days ago, message: merged recent changes

Ви можете знайти більше варіантів форматування в документації тут


Я використовую '-' для відокремлення шляхів від версій
Маріан Клушпіс,

1
Заповнювачі формату можна знайти за адресою git-scm.com/docs/git-log . Шукайте підзаголовок "гарні формати"
Ерік Маджерус,

FYI: Я знаю, що ця відповідь стара, але посилання "документи" порушено. Я, звичайно, не збираюся робити те, що зробили зі мною інші: проголосуйте за мою відповідь, як через 3, 4 або 5+ років потому, що посилання зіпсується пізніше. Я подав редагування, яке вказує на git-scm.com ( git-scm.com/docs/pretty-formats ) FYI.
Ерік Браун,

Недійсна назва об'єкта% h
закодований контейнер

10

Спробуйте цей рядок

git log > log.txt


1
Це основна відповідь, все, що мені потрібно.
Джонатан,

1
Сам git log покаже теги та гілки (усі гілки, включаючи віддалені гілки) на консолі. Однак git log> log.txt не матиме цієї інформації про теги / гілки. Я дійсно хочу знати, як зробити їх однаковими (тобто отримати вихід з тегом / інформацією про гілку)
Робін Хсу,

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.