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

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

Consigo 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 contextualizar, estou fazendo isso no SAS Enhanced Editor. A chamada real é

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

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

Para esse fim, posso criar uma entrada em .bashrc:

cd /c/new/starting/dir

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

eu vejo issoexistem opções de início do git-bashgosto --cd-to-homeou --cd=<path>mas não consigo fazê-los 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 no prompt de comando do Windows? Em caso afirmativo, qual é a sintaxe correta?

BÔNUS: Pontos de bônus por fazer isso em 50 caracteres ou menos

Responder1

"C:\Program Files\Git\git-bash.exe" --cd=c:\path\to\folder

Responder2

Uma solução possível é alterar o diretório antes de abrir o git-bash. Por padrão, o git-bash abre em qualquer diretório atual. Para fazer isso, coloque uma cdchamada 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 macro. Isso garante o requisito de ter até 50 caracteres (e, portanto, chamável a partir de uma tecla de atalho no KEYSmenu). Em algum lugar do seu código você pode atribuir o diretório de trabalho do Git,

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

A %sysexecchamada então parece

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

Isso funciona da seguinte maneira. Primeiro, o SAS irá expandir &gwd. Em seguida, ele abre um prompt de comando do Windows. Os cddiretórios mudam para o que &gwd.for resolvido. O Git-bash é então aberto no diretório atual (que foi alterado para &gwd.). Finalmente, sempre que o git-bash fecha, o exitcomando é dado, fechando a sessão do Prompt de Comando do Windows.

Infelizmente, parece que a inicial cdintroduz um atraso suficiente entre a chamada e a abertura do git-bash para ser irritante. Suspeito que emitir um cdcomando no git-bash possa ser mais rápido, mas essa abordagem funciona.

Responder3

Você pode criar um script como este:

cd c:\path\to\particular\directory
"C:\Program Files\Git\bin\sh.exe" 

Salve como whatever.cmdou whatever.bate clique duas vezes nele.

Por conveniência, você pode adicionar seu script à barra de tarefas seguindo as etapas abaixo. Pensei em incluir isso, pois não é tão fácil quanto você poderia esperar (não é possível simplesmente arrastar o script para a barra de tarefas):

  1. clique com o botão direito no script e selecione "Criar atalho"
  2. clique com o botão direito no atalho que você criou e selecione "Propriedades"
  3. Em Atalho, Destino, digite:cmd /c C:\path\to\your\script\whatever.cmd
  4. Observação: pode ser necessário especificar o caminho completo paracmd(por exemplo, C:\Windows\System32\cmd.exe...)

Agora basta clicar no comando na barra de tarefas para executar o script com um clique.

informação relacionada