[git] Windows 아래 Git : MSYS 또는 Cygwin?

내 프로젝트를 git로 마이그레이션 할 계획이며 현재 Windows에서 어떤 것이 가장 좋고 / 또는 가장 안정적인 옵션인지 궁금합니다.

내가 모은 것에서 기본적으로 2.5 옵션이 있습니다.

  1. MSYSgit
  2. Cygwin의 자식
  3. (일명 2.5) Cygwin 프롬프트의 MSYSgit (Cygwin git이 이미 설치되어있는 경우).

참고 : IMO Cygwin 자체는 거의 모든 * nix 명령 줄 도구에 액세스 할 수 있기 때문에 큰 장점입니다. MSYSgit bash를 사용하면 이러한 도구의 일부만 액세스 할 수 있기 때문입니다.

그렇다면 어떤 옵션을 제안 하시겠습니까?



답변

편집 (2 년 추가 : 2014 년 10 월)

Johannes Schindelin은 방금 msysgit이 단계적으로 제거 되었다고 설명했습니다 (2014 년 10 월) .

이제 Windows SDK 용 경량 Git 이 있습니다. 기본적으로 패키지 관리자 mingw-get을 통해 관리되는 표준 MinGW / MSys 시스템입니다.

우리는 단지 이름이 “msysGit”밖으로 단계 (뿐만 아니라하기로 결정 GitHub의 조직 같은 이름의 )에 대한 작업 Windows 용 힘내 합니다 (와 GitHub의 조직에 대응) , 및 설치 프로그램의 이름 “Windows 용 힘내”사용 목적 Windows 개발자 용 Git를 대상으로하는 개발 환경의 경우 “최종 사용자”및 “Windows SDK 용 Git”에서).


편집 (3 년 후 : 2012 년 4 월)

MsysGit (현재 GitHub에 있음 )은 Git 세계에서 가벼운 빠른 시작을 원하는 경우 사용할 수있는 방법입니다. 아카이브 압축을 풀고 실행 git-cmd.bat하거나 git-bash.bat완료하면됩니다.
그것의 최신 버전 (1.7.10 2012 에이프릴) 이제 포함 UTF-8에 대한 지원GitExtension에 포함을 . 그래도 autocrlffalse 로 설정하는 것을 잊지 마십시오 .

msysgit이 포함 된 패키지가 아닌 다른 모든 유닉스 명령이 실제로 누락 된 경우 “Cygwin의 경량 대안”이라는 이름 의 GoW (Windows의 Gnu) 릴리스를 다운로드하기 만하면 됩니다.
내 말은 : 130 유닉스 명령 s …

Cygwin은 그의 대답 에서 incrementor 로 아래 에서 언급했듯이 대형 Git 리포지토리 의 전송 속도와 같은 특정 경우에만 백업 솔루션이어야합니다 .


2012 년 6 월 : GitHub 와 상호 작용하려는 경우 이제 http://windows.github.com이 있습니다 ( ” Windows 용 GitHub 디자인 “참조 ).
ssh 키를 구성 할뿐만 아니라 생성 된 공개 키를 GitHub 프로필에 추가 할뿐만 아니라 모든 git 작업에 대해 MsysGit을 설치합니다.


원문 답변 (2009 년 4 월)

최신 버전의 MsysGit에는 문제가 없습니다
. 옵션 2를 사용합니다. 즉, PATH 환경 변수에 git \ bin 디렉터리 만 추가하고 일부 내장 Windows 도구를 재정의하지 않습니다.

Notepad ++WinMerge (또는 DiffMerge) 와 같은 외부 도구를 정의했습니다.

MsysGit1.6.2 +에서 ‘ ‘명령 이 포함되어 있기 때문에 svn2git 과 같은 스크립트를 성공적으로 실행했습니다 git svn.

그리고 마지막으로 MsysGit1.6.2.3에 finally ‘ git filter-branch‘명령 이 포함 되기를 기대합니다 ! (느린 버전의 필터 브랜치이지만 여전히).

Unix 명령의 경우 GnuWin32 coreutils 패키지 를 설치하고 필요할 때만 사용 하는 것을 선호 합니다.

그래서 대체로 Cygwin 레이어를 사용하지 않고 Windows 기반 릴리스 MsysGit에서 Git을 매우 잘 실행했습니다.


답변

예. 오래된 질문. 새로운 답변 :

우리는 대규모 배포에서 약 2 년 동안 MSYSgit을 사용하고 있습니다. 로컬 git 저장소 서버에서의 전송 속도는 5MiB / s 미만으로 제한되었습니다. 이 문제에 대한 이전 조사에서는 MSYS 개발자가 Windows XP 및 Windows 7 보안에있는 명령 프롬프트 / bash 셸에서 연결을 제한하는 문제가 있음을 나타 냈습니다. 사실 이것은 문제가되지 않는 것 같습니다.

Darrell Mozingo의 블로그 게시물을 발견 하고 Cygwin 설치 만 사용하여 대규모 (많은 GiB) 저장소의 복제본을 테스트했습니다. 전송 속도는 30MiB / s 범위였습니다. 문제는 MSYSgit이 2007의 골동품 OpenSSH 바이너리를 사용한다는 것입니다.

이를 위해 문제가 해결 될 때까지 Cygwin으로 전환하는 것이 좋습니다 (git 버전이 약간 뒤처졌지만). 또한 Cygwin이 더 안정적이며 펄이 메모리 부족을 일으킬 가능성이 적다는 것을 알았습니다.


답변

나는 MSYS와 Cygwin 버전의 git을 모두 사용해 보았습니다. 솔직히 말해서 두 가지 경험 중 특히 좋은 경험을 찾지 못했습니다. 나는 git이 아직 Windows에 대한 준비가되어 있지 않다고 생각합니다.

즉, MSYS 버전에서 찾은 한 가지 문제는 (이진이 아닌) 파일의 줄 끝을 UNIX 스타일 (줄 바꿈)에서 DOS 스타일 (캐리지 리턴 / 줄 바꿈)로 변환한다는 것입니다. 이것을 버그 또는 기능이라고 생각할 수 있지만 내가 찾을 수있는 동작을 변경할 방법이 없습니다. (편집 : 구성 변수 core.autocrlffalse. Thanks Brian으로 설정합니다 .)

OTOH, git의 MSYS 버전에는 전체 X 서버를 설치하고 실행하지 않는 한 cygwin 버전에서 사용할 수없는 GUI 기능이 있습니다. (확인해 주신 Joce에게 감사드립니다.)

내 인상은 MSYS 버전이 더 인기가 있다는 것인데, 사용하기 위해 cygwin 생태계를 설치할 필요가 없기 때문일 수 있습니다. (동의합니다. cygwin은 매우 유용합니다.)

개인적으로 저는 Windows IMO를 더 잘 지원하는 Bazaar 또는 Mercurial 중 하나를 선택합니다.


답변

Cygwin과 Msys Git은 모두 일반적인 사용 사례에서 상당히 잘 작동합니다. git-svn과 같은 스크립트를 사용하려면 Cygwin이 더 나은 방법입니다. 드디어 Linux로 이동 한 오래된 Windows 사용자로서 Cygwin은 큰 혜택이며 그 자체로 가치가 있다고 말할 수 있습니다.

하지만 맥락은 중요합니다. 어떤 프로젝트입니까? 누가 사용합니까? 기타.


답변

나는 또한 두 세계 (CygWin 및 MSysgit)를 테스트했으며 내 경험은 MSysgit bash에 몇 가지 단점이 있다는 것입니다. Cygwin이 동일한 git repo에서 정상적으로 처리하는 동안 git stash를 성공적으로 실행할 수 없습니다.

그러나 아직 심층 분석은 수행되지 않았습니다.


답변

현재 TortoiseGit과 함께 Msysgit을 사용하고 있습니다.

MsysGit UI는 내 마음에 들지 않으므로 TortoiseGit과 같은 친숙한 도구를 사용하고 명령 줄에서 작업 할 때 (대부분의 경우) Msysgit의 git 바이너리를 사용합니다.


답변

msysgit을 추천합니다. 특히 Git Extensions 와 함께 사용하는 경우 : 편집기 / diff / merge 도구와 같은 환경을 쉽게 구성 할 수 있으며 사용자 인터페이스에서 고급 git 작업을 수행 할 수 있습니다.