2009-03-08 4 views
39

최근에 다른 question I asked과 관련이 있습니다.windows에서의 msysgit - 알고 있어야 할 사항은 무엇입니까?

  1. 윈도우 환경을 변경하지 마십시오 :

    msysgit을 설치, 설치 프로그램이 시스템 경로에 관한 3 가지 옵션을 제공합니다. 이 옵션을 사용하면 git에서 bash 쉘을 사용해야합니다.

  2. 일부 기본 Windows 도구를 재정의하지 않고 git \ bin 디렉토리를 PATH 환경 변수에 추가합니다. 동료 stackoverflow - ian 게이브 Moothart told me in a comment이 옵션은 일부 자식 작업을 실패하게됩니다! 이 작업들은 무엇입니까? 나는 그들에 대해 걱정해야합니까?

  3. 2와 동일하지만 일부 기본 시스템 도구보다 우선합니다. 이 도구들은 무엇입니까? 창문의 어떤 부분이 그들에게 달려 있습니까? 그리고 이것은 실제로 상처를 줄 것인가?

또 다른 문제는 시스템 PATH와 관련이 없습니다.

프로젝트 링크 내에 심볼 링크 및 하드 링크가 있으면 어떻게됩니까? git이이를 처리하는 방법을 알고 있습니까? 또는 말하자면 디렉토리 구조가 실제로 일부 폴더가 부모 중 하나에 대한 심볼릭 링크였던 것처럼 무한 재귀를 겪게됩니까?

답변

43

에 설명되어 있습니다, 후자의 옵션은 그냥 밖에서 힘내를 사용하는 방법을 추가 할 수 있습니다. 후자의 옵션을 보려면

, msysgit Windows가 PATH에 공통 리눅스 유틸리티 빌드에 추가합니다. 이 find, killsort뿐만 아니라 cp , ls, rm, 약 20 ~ 30 등을 포함한다.

첫 번째 3 개 (및 유사한)의 문제점은 두 OS 모두에 존재하며 각기 다르게 작동한다는 것입니다.

당신이 어느 것을 사용하는지 알고 있다면 거대한 고난은 아니지만, 하나를 예상하고 다른 하나를 얻는 모든 어플리케이션은 분명히 적합을 던질 것입니다. 여전히 힘내 작업을하면서


예상대로, 당신은 단지 세션 PATH을 조정하는 간단한 배치 스크립트를 만들 수 있습니다, 충돌을 방지하기 위해. (예를 들면, readygit.bat)
@echo off 
setlocal 
set PATH=C:\Git\bin;%PATH% 
cmd 

적절히 C:\Git\bin을 조정한다. 하지만, 이것을 실행하고 cmd 안에 힘내실을 사용하십시오.

이 옵션을 사용하면 설치 옵션 3을 사용하여 시스템 PATH에서 C:\Git\bin을 안전하게 제거하고 Git을 혼동하지 않고 Windows 응용 프로그램에 대한 혼동을 제거 할 수 있습니다.

나는 find을 포함하여 GnuWin 개의 앱과 비슷한 스크립트를 사용하고 있습니다.

+2

또는 Git Bash의'/ etc/bash_profile'에'export PATH = $ PATH :/c/mingw/bin :/c/mingw/msys/1.0/bin'을 추가하여 msysGit의 쉘에서 MinGW에 액세스하십시오. – rpjohnst

3

Windows에서 (이것은 매우 드문 경우이지만 다른 시스템에서는 문제가되지 않습니다 ...), crlf 문제를 아주 잘 알고 있어야합니다. Git의 버전), 다른 Git 설치와 달리 autocrlf는 기본적으로 활성화되어 있습니다.

msysgit의 최신 버전을 사용하지 않는 한, 메일 링리스트에서 올바르게 리콜하면 이번 주에 곧 나올 예정입니다. 저장소 크기는 총 2GB를 초과 할 수 없습니다.

또한 Windows는 대소 문자를 구분하지 않지만/때로는 대소 문자를 보존합니다.이를 염두에 두십시오! (이것은 git를 혼동하지 않는다. 그러나 git repo의 사용자를 혼란스럽게 할 수있다).

마지막으로, git은 리눅스보다 훨씬 느립니다. (제한된 경험으로) 대안보다 빠릅니다. 경로에 대한 지금

... 내가 틀리지 않는

, 당신은 단지 주요 자식 바이너리 경로에 있는지 확인 할 수 있어야한다 - 그 바이너리 다음 다른 참조의주의를 기울여야한다 자식 구성 요소 ... 그러나 나는 이것을 테스트하지 않았다.

+2

AFAIK, Windows는 항상 대소 문자를 보존합니다. 이름이 모두 대문자 인 경우 Windows 탐색기는 소문자로 표시하지만 파일은 대문자로 유지됩니다. – configurator

+0

그게 잘못이지만, 지원 기사를 찾으면 도움이 될 것입니다. :) – Arafangion

3

cygwin 프롬프트에서 git을 실행하려는 경우 MSYS Git 설치 프로그램에서 옵션 2를 제안합니다. cygwin 환경은 git 의존성이 PATH에 있음을 보장합니다. 이 옵션을 선택했지만 윈도우 명령 프롬프트에서 git을 호출하면, 의존하는 모든 unix-y 명령 행 유틸리티를 찾을 수 없습니다. IIRC, git 자체는 부분적으로 bash 스크립트로 구현됩니다. 나는 어떤 연산이 실패할지 모른다. 그러나이 방법으로 git이 유용하다고 생각하지 않는다.

옵션 3이 무시하는 (설치 프로그램은 find.exe를 언급합니다) 시스템 도구 목록이 없지만 배치 스크립트 닌자 인 경우에만 영향을줍니다. 명령 줄에서 find은 이제 해당 이름의 유닉스 유틸리티를 참조하고 Windows와 함께 제공되는 exe는 참조하지 않습니다.그것은 어떤 식 으로든 윈도우 자체를 해치지 않습니다.

그냥 가위로 실행하고 있음을 인식 할 수 있습니다

+0

일괄 스크립트와 함께 제공되는 도구를 사용하는 경우 비 배치 스크립트 닌자에 영향을 미칩니다. 이런 도구를 너무 많이 사용했는데 실패했을 것입니다. – configurator

9

:-) 옵션 3을 선택합니다

  • 모든 자식 명령은 여전히 ​​없습니다. . MSysGit1.6.2 2009 년 3 월 초에 : archimport, cvsexportcommit, cvsimport, cvsserver, 필터 지점, instaweb, 전송 - 이메일 및 쉘)

  • MSysGit1.6.2까지, 자식-SVN은) not there (it is now했다.
    문제점은 Subversion의 Perl 바인딩이 필요했기 때문에 동적으로로드 할 수있는 모듈로만 빌드 할 수 있습니다. MSysGit에는 동적으로로드 할 수있는 모듈을 지원하지 않는 perl 버전이있었습니다. MSysGit에 대한

  • 모든 세부 사항에 가장 당신은 상관없이 당신이 선택할 수있는 옵션의 bash을 얻을 자신의 MSysGitHerald Github wiki

0

Windows에서 Windows GUI를 사용할 때 가장 먼저 저장소를 만들면 저장소 디렉토리에 ".git"라는 이름을 입력하지 마십시오. (그 다음에 생성 한 다음 다른 하나를 생성합니다.당신이 마침내 거기에 보일 것이라고 생각할 때 git 폴더 밑에 소스가있는 폴더를 찾아서 - 그 폴더를 선택하십시오! 저장소 디렉토리 ".get"이 생성됩니다.

그런 다음 무단 변경 내용의 파일을보고 파일 이름 옆에있는 작은 페이지 아이콘을 클릭하여 단계별 변경 내용으로 이동하십시오.

확실히 가위로 실행하고 옵션 3을 선택하십시오. 아무도 명령 창에서 kill, sort 또는 find를 더 이상 사용하지 않습니다.

+0

흠, 이것은 Windows에서 msysgit과 관련이 없습니다 (리눅스에도 적용됨). 나는 다른 Windows 시스템 도구를 방해하거나 방해 할 수있는 방법에 대해 묻고있었습니다. – hasen