Git Bash의 정확한 의미는 무엇입니까?


94

힘내 배쉬

저는 지난 이틀 동안 Git Bash와 함께 일했습니다. 지금은 기본 작업 등을 알고 commit, push, pull, fetch,와 merge. 그러나 나는 여전히 Git Bash 자체가 실제로 무엇인지 모릅니다 !

나는 Git Bash에 대해 많이 검색했지만 내가 본 모든 사이트는 명령의 기능에 중점을 둡니다. 여전히 내 질문에 대한 좋은 답을 찾지 못했습니다. 이제 저는이 답을 얻을 수있는 올바른 위치에 있다고 생각합니다!



"Git bash"와 같은 것은 없습니다. "bash"가 있고 "git"이 있습니다. Bash는 대화 형 명령 줄 인터프리터로, Microsoft의 "cmd"와 유사한 역사적 이유로 "sh"또는 "shell"이라고도합니다. 이 입니다 자식 서버에 익명 액세스의 전력을 제한하는 데 사용되는 "잠긴"명령 인터프리터이며, 자식 분포의 일부이다 "자식 쉘은"그러나. 자식이 개발 된 이후 대한 시스템과 같은 UNIX, 이론적으로는 쉘에 독립적이지만, 그것은 최선 "bash는"CLI와 결합된다.
Hatebit

답변:


78

git bash는 다음과 같은 쉘입니다.

" msysGit Portable $HOME위치 수정 "을 참조하십시오 .

Windows 64의 경우 :

C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git\1.7.1\bin\sh.exe" --login -i"

이것은 git-cmd.bat일반 DOS 명령 프롬프트에서 git 명령을 제공하는와 다릅니다 .

Windows 용 GitHub (G4W) 와 같은 도구 는 git (PowerShell 포함)에 대해 다른 셸을 제공합니다.


2015 년 4 월 업데이트 :

참고 : Windows 1.9.5 용 msysgit / Git 의 git bash 는 이전 버전입니다.

GNU bash, version 3.1.20(4)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

그러나 msysgit (2015 년 4 분기) 및 새로운 Windows 용 Git (2015 년 2 분기 ) 이 단계적으로 중단됨에 따라 이제 Git for Windows 2.3.5가 있습니다.
64 비트 msys2 프로젝트를 기반으로하는 훨씬 더 최근의 bash가 있으며, 네이티브 Windows 소프트웨어와의 더 나은 상호 운용성을 목표로하는 최신 Cygwin (POSIX 호환성 레이어) 및 MinGW- w64를 기반으로 MSYS를 독립적으로 다시 작성했습니다. 자체 설치 프로그램msys2함께 제공됩니다 .

이제 git bash는 다음과 같습니다 (새로운 Windows 용 Git 포함).

GNU bash, version 4.3.33(3)-release (x86_64-pc-msys)
Copyright (C) 2013 Free Software Foundation, Inc.

원래 답변 (2013 년 6 월) 더 정확하게, msygit wiki에서 :

역사적으로 Windows의 Git은 Cygwin을 통해서만 공식적으로 지원되었습니다.
네이티브 Windows 버전을 만들기 위해이 프로젝트는 mingw fork를 기반으로 시작되었습니다 .

프로젝트 이름의 유백색 '수프'를 더 명확하게하기 위해 다음과 같이 말합니다.

  • msysGit- 공식 바이너리를 릴리스하는 Windows 용 Git의 빌드 환경 인이 프로젝트의 이름입니다.
  • MinGW- 네이티브 Microsoft Windows 애플리케이션을위한 최소한의 개발 환경입니다.
    마이크로 소프트 런타임에 비해 매우 얇은 컴파일 타임 레이어입니다. 따라서 MinGW 프로그램은 실제 Windows 프로그램이며 Unix 스타일의 경로 또는 fork()호출 과 같은 POSIX의 장점이 없습니다.
  • MSYS -Bourne Shell 명령 줄 인터프리터 시스템으로 MinGW (및 기타) 에서 사용되며 과거에 Cygwin에서 분기 되었습니다.
  • Cygwin- 과거에 Windows 용 Git을 빌드하는 데 사용되었던 Linux와 유사한 환경, 현재는 msysGit과 관련이 없습니다.

따라서 "git bash"에 대한 두 줄의 설명은 다음과 같습니다.

" Git bash"는 "Git for Windows"에 포함 된 msys 셸이며 Cygwin (이전 버전)의 슬림형 버전으로, bash를 실행하는 데 충분한 POSIX 계층을 제공하는 것이 유일한 목적입니다.


조언:

msysGit은 Windows 용 Git을 컴파일하기위한 개발 환경입니다. msysGit을 설치하기 만하면된다는 점에서 완전합니다. 그런 다음 Git을 빌드 할 수 있습니다. 타사 소프트웨어를 설치하지 않고.

msysGit은 Windows 용 Git이 아닙니다. 그것은 Git을 설치하는 설치 프로그램이며 Git 만 설치합니다 .

자세한 내용은 " msysgit과 Cygwin + git의 차이점은 무엇입니까? "를 참조하십시오.


2
그 의미를 알고 싶어요!
DRAJI 2013

@DRAJI 내 대답이 당신이 알고 싶은 것을 다루지 않았다는 뜻입니까?
VonC 2013

@DRAJI " git bash" 에 대해 더 알고 싶은 세부 사항이 있습니까?
VonC 2013

물론이야. 하지만 우선 그것에 대한 두 줄의 설명 만 알고 싶습니다. 그 후 다음 단계로 넘어갈 것입니다.
DRAJI 2013-07-24

3
예를 들어, UNIX Bash와 Git Bash의 차이점은 무엇입니까?
Alexander Mills

22

나는 질문 asker가 git bashgit init 또는 git checkout 과 같은 명령 이라고 생각하고 있다고 생각합니다 . Git bash는 명령 이 아니라 인터페이스 입니다. bash는 유닉스 / 리눅스 세계에서 매우 인기가 있기 때문에 asker가 리눅스 사용자가 아니라고 가정하겠습니다. "bash"라는 이름은 " B ourne A gain SH ell" 의 약어입니다 . Bash는 자동화 된 스크립트를 실행할 수있는 기능이있는 텍스트 전용 명령 인터페이스입니다. 좋은의 비유는 새로 떠들썩한 파티를 비교하는 것 PowerShell에서의 Windows7의 / 8 인터페이스를 제공합니다. 가난한비유 (하지만 더 많은 사람들이 더 쉽게 이해할 수있는 것)은 DOS와 Windows 초기 버전의 명령 프롬프트 와 .BAT (배치) 명령 파일 의 조합입니다 .

참고 문헌 :


10

Bash는 Bourne Shell의 무료 소프트웨어 대체품으로 Brian Fox가 27 년 전에 만든 명령 줄 인터페이스입니다. 쉘은 특정 종류의 명령 줄 인터페이스입니다. Bash는 누구나 코드를 읽고 변경 사항을 제안 할 수있는 "오픈 소스"입니다. 처음부터이 도구를 놀라운 도구로 만들기 위해 노력한 대규모 엔지니어 커뮤니티의 지원을 받았습니다. Bash는 Linux 및 Mac의 기본 셸입니다. 이러한 이유로 Bash는 가장 많이 사용되고 널리 배포 된 셸입니다.

Windows에는 명령 프롬프트라는 다른 명령 줄 인터페이스가 있습니다. 이것은 Bash와 동일한 기능을 많이 가지고 있지만 Bash는 훨씬 더 인기가 있습니다. 오픈 소스 커뮤니티의 강점과 제공하는 도구로 인해 Bash를 마스터하는 것이 명령 프롬프트를 마스터하는 것보다 더 나은 투자입니다.

Windows 컴퓨터에서 Bash를 사용하려면 Git Bash라는 프로그램을 다운로드하여 설치해야합니다. Git Bash (Windows 용 Bash)를 사용하면 Windows 환경 내에서 Bash와 Git이라는 다른 도구에 쉽게 액세스 할 수 있습니다.


1
참고로 현재 Windows 용 CLI는 PowerShell입니다. 고대 DOS 기반 CMD 셸은 호환성을 위해 여전히 주변에 있지만 MSFT는 PS에 모든 관심을 집중합니다. 실제로 Unix 기반 셸 (bash, sh, csh, ksh, zsh 등)의 파이프 지향 기능을 가져 와서 텍스트가 아닌 객체를 전달할 수 있도록 확장하는 것은 꽤 좋습니다.
Peter Halverson

3

핵심적으로 Git은 Unix 스타일의 명령 줄 환경에서 실행되도록 설계된 명령 줄 유틸리티 프로그램 집합입니다. Linux 및 macOS와 같은 최신 운영 체제에는 모두 기본 제공 Unix 명령 줄 터미널이 포함되어 있습니다. 따라서 Git으로 작업 할 때 Linux 및 macOS를 보완적인 운영 체제로 만듭니다. Microsoft Windows는 대신 Unix가 아닌 터미널 환경 인 Windows 명령 프롬프트를 사용합니다.

Git Bash 란 무엇입니까?

Git Bash는 Git 명령 줄 경험을위한 에뮬레이션 계층을 제공하는 Microsoft Windows 환경 용 애플리케이션입니다. Bash는 Bourne Again Shell의 약어입니다. 쉘은 작성된 명령을 통해 운영 체제와 인터페이스하는 데 사용되는 터미널 애플리케이션입니다. Bash는 Linux 및 macOS에서 널리 사용되는 기본 셸입니다. Git Bash는 Windows 운영 체제에 Bash, 몇 가지 일반적인 bash 유틸리티 및 Git을 설치하는 패키지입니다.

출처 : https://www.atlassian.com/git/tutorials/git-bash


2
"Git은 Unix 스타일의 명령 줄 환경에서 실행되도록 설계된 명령 줄 유틸리티 프로그램의 집합입니다."... Git이 Linus Torvalds ( en.wikipedia.org/wiki/Linus_Torvalds) 에서 만든 것을 고려하면 사실이며 놀라운 일이 아닙니다. )
VonC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.