#windows #git #cmd #command-line
#Windows #git #cmd #командная строка
Вопрос:
Я пытаюсь прочитать последнюю фиксацию для удаленного репозитория git, используя эту команду
git ls-remote https://repo.myrepository.com/scm/swc/project.git refs/heads/qa
он отлично работает и возвращает мне что-то вроде этого
5261626431661281d788382a1ed6ab1440fd93a8 refs/heads/qa
Но я не могу найти в Интернете какой-либо способ извлечь только хэш коммита из возвращаемой строки в командной строке
Я думал, что будет очень легко найти эту информацию в Интернете, но единственный ответ, который я нахожу везде, это
git ls-remote https://repo.myrepository.com/scm/swc/project.git refs/heads/qa | cut -f 1
Но это не работает в командной строке Windows, в нем говорится cut
, что это не распознанная команда.
Может кто-нибудь, пожалуйста, помогите с версией командной строки Windows?
Комментарии:
1. Какую операционную систему вы используете?
cut
это команда Linux.2. @dan1st — Windows
3. Это было закрыто, поскольку требует ясности, но, честно говоря, проблема ясна, и она уже была помечена
cmd
.4. Вопрос @jnovack открыт для ответов сейчас.
Ответ №1:
for /f
это то, как вы можете «вырезать» токены с помощью разделителя.
В следующих примерах delims
это Space.
# inside of a batch file
# get first token, delimited by <space>
for /f "tokens=1,* delims= " %%a in (
'git ls-remote https://repo.myrepository.com/scm/swc/project.git refs/heads/qa'
) do echo %%a
# command line
# get second token, delimited by <space>
for /f "tokens=2,* delims= " %a in ('echo one two') do echo %a