git get only список последних, т.е. 2 коммитов - PullRequest
3 голосов
/ 20 октября 2010

Я разрабатываю для Windows дома и отправляю свои изменения клиенту.Заказчик не хочет устанавливать SCM, поэтому мне нужно отправлять файлы, которые я изменил с последней итерации.В настоящее время я использую Subversion с какой-то автоматизацией с помощью самописного пакета, который представляет собой смесь утилит windows и GNU / unix.Скрипт просматривает данные ревизии, перечисляет, какие файлы изменены, удаляет дублирование и в конце получает файл списка.

@echo off
if (%3) == () goto usage
set TO_REVISION=HEAD
set PUSHNAME=%3-%1

svn log -v -q -r %2 %3 |  sed "s/^[ ^t]*[AM] \/[[:alnum:]_]*\/[[:alnum:]_]*\/\(.*\.[[:alnum:]_]*\)/tar --append --file=%PUSHNAME%.tar \1/" | sed "s/ (.*//g" | sort | uniq | grep -v "config.xml" >> %PUSHNAME%.bat
IF ERRORLEVEL 1 goto error
echo bzip2 %PUSHNAME%.tar>> %PUSHNAME%.bat
echo :: SVN REVISIONS :: %2>> %PUSHNAME%.bat
echo ... %PUSHNAME%.bat generated.
goto done

:usage
echo USAGE: %~nx0 push-file-name from[:to]-revision relative-or-absolute-path
echo See svn log -v -q -r [REV] to view repository log.
goto done

:error
echo ERROR! Check (if exists) output file %PUSHNAME%.bat
goto done

:done

Партия не идеальна, но для меня это нормально.Теперь я решил перейти на Git.Я конвертировал хранилище Subversion в репозиторий Git.Но покажи мне стоппер, я не могу найти команду замены для журнала svn -v -q -r в руководстве по Git :-( Я уверен, что так и должно быть, но после нескольких дней поиска я хотел бы попросить о помощи более опытногоGit-Gurus.

Заранее благодарю за минуты, потраченные на мою проблему,

Олег

Ответы [ 2 ]

1 голос
/ 20 октября 2010

Полагаю, вы пытаетесь изменить список файлов, так как некоторые фиксируют:

git diff-index <commit> --name-only

Будет отображать список всех файлов, измененных с , и только их имена.

--name-only избавит вас от проблем с именами файлов. Использование --name-status вместо этого делает вас более знакомым

A   debian/control 
M   debian/rules

выходной.

0 голосов
/ 20 октября 2010
git show HEAD HEAD^

Это покажет последние два коммита текущей ветви.Дополнительные параметры см. git show --help

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...