DOS 명령 줄에서 Git Bash를 시작하는 방법은 무엇입니까?


106

내가 바라는 것은 간단한 질문이지만 아직 답을 찾지 못했습니다. DOS 배치 파일에서 Git Bash를 시작하고 싶습니다. 지금까지 시도한 내용은 다음과 같습니다.

  1. Win 7 시작 버튼에서 Git Bash 시작
  2. Ctrl + Alt + Del을 사용하여 프로세스를 "sh.exe"로 식별했습니다.
  3. 시작 명령을 사용하여 배치 파일에서 sh.exe를 시작했습니다.

    start sh.exe
    

그러나 이것은 전체 Git Bash 환경을 시작하지 않습니다. Git Bash는 일반적으로 제목 표시 줄에 "MINGW32"가 있지만 sh.exe에는 ...에 대한 전체 경로가 Git\bin\sh.exe있습니다. 내가 알지 못하는 오버레이 또는 종속성이있는 것처럼 느껴지며로드 (풀인? 가져 오기?)해야합니다.

이것은 내가 웹 검색을 통해 찾은 최고의 결과 중 하나 였지만 나에게는 완전히 이해가되지 않으며 내 상황에 정확히 적용되는지 확실하지 않습니다.

Windows Cmd 줄에서 git 실행 : 키 파일은 어디에 있습니까?

저는 DOS 배치 스크립팅 세계의 초보자입니다.


1
글쎄요, 이것은 실제로 DOS 명령 줄 command.com이 아닙니다. 비트 NT 시스템을 사용하고 command.com직접 호출 했거나 이전 프로그램이 대신 수행했습니다. Windows에서 CMD와 명령 프롬프트의 차이점무엇입니까?를 참조하십시오 . 더 많은 정보를 위해서.
SamB

답변:


125

배치 파일에서 시작하려는 경우 :

  • x86 용

    start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
    
  • x64 용

    start "" "%PROGRAMFILES%\Git\bin\sh.exe" --login
    

감사합니다 @Endoro! @Klas Mellbourn의 대답은 Powershell에 맞았지만 DOS 배치 파일에서 실행 중이기 때문에 귀하의 대답이 더 정확합니다. "start"지시문을 추가하면 프로그램이 비동기 적으로 실행됩니다. 이것이 바로 제가 필요로하는 것입니다! 엄지 척!
Eric Hepperle-CodeSlayer2010 2013-06-27

14
배치 파일 내에서 연 후 Git 배치 창에 명령을 입력하고 실행하는 방법이 있습니까?
Nick

1
@OviC 편집 내용이 정확합니까? "프로그램 파일 (x86)"은 32 비트 프로그램의 x64 아키텍처에서만 존재합니다.
Drunix

@Drunix 맞습니다. x86 시스템에는 "Program Files (x86) \"경로가 없습니다. 롤백했습니다. 감사.
Endoro

시스템 드라이브에 설치되어 있지 않으면 어떻게합니까? 프로그램 파일에 설치되어 있지 않으면 어떻게합니까?
Michael Kruglos 2017 년

44

"전체 Git Bash 환경"이 무엇을 의미하는지 정확히 모르겠습니다.하지만 그렇게하면 멋진 메시지가 나타납니다.

"C:\Program Files\Git\bin\sh.exe" --login

PowerShell에서

& 'C:\Program Files\Git\bin\sh.exe' --login

--login스위치는 쉘이 로그인 쉘을 실행하게 시작 파일을 .


@Klas Mellbourn에게 감사드립니다. 귀하의 답변은 Powershell에 적합하지만 Endoro의 답변에서와 같이 "start"지시문을 추가하지 않으면 셸이 종료 될 때까지 다음 프로그램의 실행을 중지합니다. 이는 원하는 동작이 아닙니다. 그렇지 않으면 투표했을 것입니다.
Eric Hepperle-CodeSlayer2010 2013-06-27

Console2 to window를 사용하는데 cmd이로 인해 이상한 동작이 발생합니다. 나는 이것을 .bat 파일에 @"%SYSTEMDRIVE%\Program Files\Git\bin\bash.exe" --login
넣었고

25

sh.exe 대신 git-bash.exe를 사용하는 것을 선호합니다.

start "" "%ProgramFiles%\Git\git-bash.exe" -c "tail -f /c/Windows/win.ini"

통화 /usr/bin/bash --login -i가 끝나면 창 닫기를 중지 할 수 있습니다 .

start "" "%ProgramFiles%\Git\git-bash.exe" -c "echo 1 && echo 2 && /usr/bin/bash --login -i"

참고 : 이것이 좋은 방법인지 잘 모르겠습니다. :)


4
좋은 대답이지만 git-bash 창이 즉시 닫힙니다. 명령 실행이 완료된 후 자동 닫기를 비활성화하는 방법을 알고 있습니까?
Mark

@Mark 감사합니다 Mark. 위의 답변에 예를 추가했습니다. 불행히도 나는 내가 창문 사람이 아니기 때문에 우리가 올바른 방법으로 그것을 어떻게해야하는지 잘 모르겠습니다. :)
kujiy

1
[code] start "" "% ProgramFiles % \ Git \ git-bash.exe"[/ code] 잘 작동합니다!
PauAI

@PauAI 2018 지금 ... start "" "%ProgramFiles%\Git\git-bash.exe"관리자 명령 줄에서 시도했지만 새 창에 Git Bash가 표시되지만 간단한 명령을 입력하면 ls출력이 표시되지 않습니다. 이 방법은 리눅스 명령의 실행을 허용하지 않는 것 같습니다. ... 편집 : 작업, ls를 실행하는 데 오랜 시간 (2 분)이 걸렸습니다. 그런 다음 ls는 1 초 이내에 다시 실행되었습니다. ... 이상해.
Eric Hepperle-CodeSlayer2010

8

나는 환경 변수에 git을 넣고 호출하는 것을 선호합니다.

c:\Users\[myname]>sh
or 
c:\Users\[myname]>bash

환경 변수 생성 단계 (Win7)

  • 바탕 화면에서 컴퓨터 아이콘을 마우스 오른쪽 버튼으로 클릭합니다.
  • 상황에 맞는 메뉴에서 속성을 선택합니다.
  • 고급 시스템 설정 링크를 클릭합니다.
  • 환경 변수를 클릭하십시오.
  • 사용자 변수 섹션에서 NEW 버튼을 누르고 변수 이름을 GIT_HOME, 값을 (folder-where-you-installed-git)로 입력합니다.

    • 나를 위해 그것은이었다 c:\tools\git , 다른 사람들은 아마도C:\Program Files\Git
  • PATH환경 변수를 찾아 선택하십시오. 편집을 클릭하십시오. (PATH 환경 변수가 없으면 새로 만들기를 클릭합니다.)

  • 편집 창에서 새 값을 추가하십시오. %GIT_HOME% 하고 %GIT_HOME%\bin. 확인을 클릭하십시오. 확인을 클릭하여 나머지 창을 모두 닫습니다.
  • [git에 사용할 CMD를 닫아야합니다.]
  • 명령 프롬프트를 열고 sh또는 bash또는git-bash

2
감사! 나는 이것을 GIT_HOME으로 작업하고 CMD에서 C:\Program Files\Git입력 할 수있었습니다 git-bash. 또한 이상하게도 내용을보기 위해 PATH 만 입력하면되지만이 git 사용자 정의 변수의 내용을 보려면 입력해야합니다.echo %GIT_HOME%
Eric Hepperle-CodeSlayer2010

감사합니다. 이것은 큰 도움이되었습니다. 여기에 추가하려면 GIT_HOME변수가 있고 git-bash명령 (또는 git-cmd) 을 사용하면 새 창에서 열립니다. "PATH"환경 변수에 추가하면 기존 창에서 전환됩니다. exitgit bash의 "logout"을 입력해도 DOS 프롬프트는 그대로 유지됩니다.
Keith E. Truesdell

4
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login -i

Git bash가 열립니다.


3

https://stackoverflow.com/a/33368029/15789

여기에 답변을 게시했습니다.

Windows 명령 창을 열고이 스크립트를 실행하십시오. 작업 디렉토리가 변경되면 작업 디렉토리에서 bash 터미널이 열리고 현재 git 상태가 표시됩니다. exec bash를 호출하여 bash 창을 열어 둡니다.

여러 프로젝트가있는 경우 다른 프로젝트 폴더로이 스크립트의 복사본을 만들고 기본 배치 스크립트에서 호출 할 수 있습니다.


3

위의 정보를 사용하여보다 영구적 인 솔루션을 만들었습니다. 다음은 Git Bash를 여는 데 사용할 수있는 sh 별칭을 만듭니다.

echo @start "" "%PROGRAMFILES%\Git\bin\sh.exe" --login > %systemroot%\sh.bat

감사합니다 dpate! echo 문을 명령 줄 sh에 붙여넣고 실행 했고 git-bash 창이 시작되었고 명령을 완벽하게 실행할 수있었습니다. 이것이 어떻게 작동하는지 설명하는 답변에 약간의 세부 사항을 추가 할 수 있습니까? 나는 누군가가 나에게 물고기를 주도록하는 것보다 낚시가 어떻게 작동하는지 배우고 싶습니다. 그리고 좋은 대답을 찾는 다른 사람들에게 도움이 될 것이라고 생각합니다. 감사합니다
Eric Hepperle-CodeSlayer2010 2018-08-20

0

Endoro의 대답은 낡았 고 나는 언급 할 수 없습니다.

# if you want to launch from a batch file or the command line:

start "" "%ProgramFiles%\Git\bin\sh.exe" --login

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.