Статьи

Дайте мне бревно

Бывают случаи, когда разработчик, который несет основную ответственность за развертывание, может использовать небольшую руку помощи для получения правильного исходного кода и сборок для выпуска. В конце концов, артефакты, исходящие от него, могут быть теми же самыми, которые будут развернуты в производстве. Очень важно, чтобы мы проверяли каждый коммит кода и его влияние.

В этой ситуации я использую журнал git, чтобы получить информацию об источниках и коммитах, которые будут частью релиза:

1
git log --pretty=format:"%h - %an, %ar, %ae : %s" --stat --name-only --graph --since=2015-01-01 >> logme.log

Давайте разберемся с этим понемногу:

1
2
3
4
5
6
git log is a git command that gets the details of the commits
--pretty=format can be used to specify a specific format using "%an, %ar, %ae, : %s". Thats author revision, name, email and file.
--stat to show the statistics
--name-only to show the filenames only
-- graph to show a graphical representation
--since to show only the commits made from the given date up to the current date (today)

16-07-2015-8-34-13-ам

Как насчет только графика? Я запустил тот же журнал git, но передал только формат и аргумент –graph. Выход ниже.

01
02
03
04
05
06
07
08
09
10
11
$ git log --pretty=format:"%h %s" --graph
* 2d3acf9 ignore errors from SIGCHLD on trap
* 5e3ee11 Merge branch 'master' of git://github.com/areyes/hubbys
|\
| * 420eac9 Added a method for getting the current details to the branch.
* | 30e367c timeouts
* | 5a09431 add timeout protection to hubbys
* | e1193f8 support for heads with slashes in them
|/
* d6016bc require time for xmlschema
* 11d191e Merge branch 'hubbys' into local

.. а как насчет журнала специально для areyes с 1 января 2014 года, но до 01 ноября 2010 года

1
2
3
4
5
6
7
$ git log --pretty="%h - %s" --author=areyes1--since="2014-10-01" --before="2010-11-01"
5610e3b - Fix testcase failure when extended attributes are in use
acd3b9e - Enhance hold_lock_file_for_{update,append}() API
f563754 - demonstrate breakage of detached checkout with symbolic link HEAD
d1a43f2 - reset --hard/read-tree --reset -u: remove unmerged new paths
51a94af - Fix "checkout --track -b newbranch" on detached HEAD
b0ad11e - pull: allow "git pull origin $something:$current_branch" into an unborn branch

Для git log есть много опций форматирования, которые можно найти здесь, и, учитывая их, можно создать много автоматов!

Идея: Вы можете передать это в файл и отправить его разработчикам для проверки, или, что еще лучше, просмотреть список пользователей, получить каждое из их писем и ревизий, сгенерировать файл журнала для каждого и отправить его им. Довольно аккуратно, так как это даст разработчику вид с высоты птичьего полета на их источники, которые будут включены в релиз (и уведомит команду, если они не были включены)

Ссылка: Дайте мне журнал от нашего партнера JCG Элвина Рейеса в блоге Элвина «Джей» Рейес .