Git: Abra o Git-Bash no diretório específico

2

Eu sou capaz de iniciar o git-bash através do prompt de comando do Windows de várias maneiras:

"C:\Program Files\Git\bin\sh.exe"
"C:\Program Files\Git\git-bash.exe"
"C:\Program Files\Git\usr\bin\mintty.exe"

Eu gostaria de iniciar o git-bash em um diretório específico usando essa chamada.

Para o contexto, estou fazendo isso de dentro do SAS Enhanced Editor. A chamada atual é

%sysexec(start "" "C:\Program Files\Git\bin\sh.exe" && exit);

Para aqueles não familiarizados com o SAS, %sysexec abre uma instância do Prompt de Comando do Windows e emite qualquer comando fornecido como argumento. Funciona surpreendentemente bem. No entanto, gostaria de poder iniciar o git-bash em um diretório específico, não apenas em casa.

Para isso, posso criar uma entrada em .bashrc :

cd /c/new/starting/dir

O problema de fazer isso, porém, é sempre que eu abro um git-bash, como através do menu de contexto em uma pasta específica, o diretório padrão é o .bashrc .

Eu vejo que existem opções de início do git-bash como --cd-to-home ou --cd=<path> , mas não consigo fazê-las funcionar. Por exemplo,

"C:\Program Files\Git\bin\sh.exe" --cd-to-home
"C:\Program Files\Git\bin\sh.exe --cd-to-home"
"C:\Program Files\Git\git-bash.exe" --cd-to-home
"C:\Program Files\Git\git-bash.exe --cd-to-home"
etc.

É possível iniciar o git-bash em um diretório específico do Prompt de Comando do Windows? Se sim, qual é a sintaxe correta?

BONUS : pontos de bônus por fazer isso em 50 caracteres ou menos

    
por Lorem Ipsum 04.04.2018 / 19:50

1 resposta

0

Uma solução possível é alterar o diretório antes de abrir o git-bash. Por padrão, o git-bash é aberto em qualquer diretório atual. Para fazer isso, coloque uma chamada cd antes do start ,

cd C:\specific\dir\to\open && start "" "C:\Program Files\Git\bin\sh.exe"

Como isso está sendo feito no SAS, o diretório específico pode ser armazenado em uma variável de macro. Isso garante o requisito de estar dentro de 50 caracteres (e, portanto, pode ser chamado de uma tecla de atalho no menu KEYS ). Em algum lugar no seu código você pode atribuir o diretório de trabalho do Git,

%let gwd = C:\specific\dir\to\open;

A chamada %sysexec se parece com

%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);

Isso funciona da seguinte maneira. Primeiro, o SAS expandirá &gwd . Em seguida, ele abre um prompt de comando do Windows. O cd altera os diretórios para qualquer que seja o &gwd. resolvido. O Git-bash então abre no diretório atual (que foi alterado para &gwd. ). Finalmente, sempre que o git-bash é fechado, o comando exit é fornecido, fechando a sessão do Prompt de Comando do Windows.

Infelizmente, parece que a inicial cd introduz apenas atraso suficiente entre a chamada e a abertura do git-bash para ser irritante. Eu suspeito que a emissão de um comando cd dentro do git-bash pode ser mais rápido, mas esta abordagem funciona.

    
por 04.04.2018 / 22:03