Use um morcego para executar um cmd (digamos git) como se estivesse em outra pasta sem cd

0

Eu tenho um script do Windows BAT que faz o seguinte:

call git reset --hard
call git clean --force

Isso funciona, mas eu realmente quero executá-lo dentro do contexto de outra pasta, algo como (isso não funciona):

call ../git reset --hard
call ../git clean --force

Como posso fazer isso? Eu não quero usar 'cd' por uma série de razões, até porque parece quebrar a mudança de execução (apenas um comando git é executado).

    
por ConfusedNoob 24.06.2013 / 02:04

1 resposta

1

Não é de surpreender que seu segundo exemplo não funcione, porque git é um comando global (supondo que você o tenha instalado dessa maneira). Fazendo ../git está procurando por um executável chamado git uma pasta de volta (eu diria que no Windows ele está procurando git.exe ou git.bat lá ou algo similar).

Em vez disso, git fornece uma opção para --git-dir=<path> (conforme a página do manual).

--git-dir=<path>
    Set the path to the repository. This can also be controlled by
    setting the GIT_DIR environment variable. It can be an absolute
    path or relative path to current working directory.

Então, supondo que funcione no Windows como no Linux, você provavelmente desejaria:

call git reset --hard --git-dir=../otherproject/
call git clean --force --git-dir=../otherproject/
    
por 24.06.2013 / 02:25