Хочу добавить поддержку гита в свою говноутилитку, но разбираться, как правильно сделать — не очень хочу.
Если кто-нибудь подскажет — буду рад.
Суть токова. Хочется поддерживать такие команды (при условии, что `pwd` = путь к локальной репке):
1. получить список изменений из репки (видимо, ветка master, последний коммит), при условии, что мержить нечего. "git fetch"?
2. обновить рабочую копию до "ветки master, последнего коммита". "git checkout"?
3. получить "идентификатор" репозитория — хеш последнего коммита, например. Идей нет, в меркуриале же это "hg ident", а тут как?
В первых двух случаях непонятно, какие опции нужно указывать (и нужно ли), чтобы git не спрашивал лишнего и чтобы командная строка не позволила ему творить глупости.
@komar: ВОКЕР ПОМОГИ
по п.1 — предполагаем, что репка склонирована через git clone, там по идее сохраняется, откуда она склонирована.
Andrey Popp из камлочятика ответил.
1. git fetch таки без аргументов пойдёт,
2. git checkout дваминуса однаточка,
3.git rev-parse HEAD.
1. git show HEAD
2. git checkout master@{HEAD}
3. Что это, для чего применяется? Не понял. git rev-parse HEAD, наверно.
точно, фетч, не понял вопроса
точнее. фетч подтягивает изменения, потом их список можно получить в разном виде например git log master..origin/master
а что такое master@{HEAD} в git checkout?
ветка master, последняя ревизия (HEAD)
понял. Благодарю за ответы.
чото не работает, если склонировать git clone --no-checkout, а затем git checkout master@{HEAD}:
error: pathspec 'master@{HEAD}' did not match any file(s) known to git.
просто master
во, теперь работает. Клёво.