Pergunta

Isso está relacionado a outro Perguntei recentemente.

Ao instalar msysgit, os presentes instalador 3 opções relacionadas ao caminho do sistema:

  1. Nunca ambiente de janelas de mudança. Com esta opção, você tem que usar o shell "bash" para trabalhar com git.

  2. Adicione o git \ bin à variável de ambiente PATH, mas sem substituir algumas ferramentas janelas embutidas. Fellow stackoverflow-ian Gabe Moothart me disse em um comentário que esta opção fará com que algumas operações git falhar! Quais são essas operações? Devo me preocupar com eles?

  3. Mesmo que 2, mas substituir algumas ferramentas de sistema padrão. Quais são essas ferramentas? Que partes de janelas dependem deles? e isso vai doer na prática?

Outra questão veio à minha mente, sem relação com o caminho do sistema.

E se eu tiver links simbólicos e links físicos dentro do meu diretório do projeto? Sabe git como lidar com isso? ou, ele vai sofrer de recursão infinita, se por exemplo, a estrutura de diretórios foi tal que alguma pasta era na verdade um link simbólico para um de seus pais?

Foi útil?

Solução

Você começa bash independentemente da opção que você escolher, as últimas opções basta adicionar métodos para usar Git fora dela.

Para as últimas opções, msysgit acrescenta o Windows constrói de utilitários comuns do Linux para PATH . Isto inclui find , kill e sort , bem como cp , ls , rm , e cerca de 20-30 outros.

O problema com o primeiro 3 (e semelhantes), é que eles existem em ambos os sistemas e funcionam de modo diferente em cada.

Não é um enorme provação se você sabe qual deles você estará usando, mas quaisquer aplicações desenvolvidas esperando um e ficando o outro vai certamente ter um ataque.


Para evitar o conflito, enquanto continua a ter o trabalho Git como esperado, você pode criar um script em lotes simples que ajusta PATH somente para a sessão. (Por exemplo, readygit.bat)

@echo off
setlocal
set PATH=C:\Git\bin;%PATH%
cmd

Ajustar C:\Git\bin conformidade. Mas, basta executar este e usar Git dentro do cmd.

Com isso, você pode usar a opção 3 instalar e remover com segurança C:\Git\bin de PATH do seu sistema, removendo qualquer confusão para aplicativos do Windows sem confundir Git.

Eu uso atualmente um script semelhante com GNUWin apps, incluindo < strong> find .

Outras dicas

Você pode querer estar ciente de que:

  • Todos os comandos do git não são ainda lá. Em MSysGit1.6.2 início de março de 2009:. Archimport, cvsexportcommit, cvsimport, cvsserver, filter-branch, instaweb, send-email, e shell)

  • Até MSysGit1.6.2, git-svn foi ( é agora ).
    O problema era git-svn necessária ligações perl do Subversion, e você só pode construir-los como módulos carregáveis ??dinamicamente. E msysgit tinha uma versão perl que não apoiou módulos carregáveis ??dinamicamente.

  • Todos os detalhes sobre msysgit são melhor explicados em sua MSysGitHerald github wiki

No windows (isso é menos de um problema em outros sistemas, na minha muito humilde opinião ...), você deve ser muito conscientes das questões CRLF, e nota que (a menos que eles mudaram isso na versão mais recente do Git, que eu acredito que eles podem ter - ou se você estiver usando uma versão muito antiga do Git), autocrlf é ativado por padrão, ao contrário de todas as outras instalações git

.

Observe também que a menos que você use a versão mais recente de msysgit, que em breve será lançado nesta semana, se bem me lembro da lista de discussão, o tamanho do repositório não pode ser maior do que 2 GB, total.

Além disso, o Windows é wierdly maiúsculas e minúsculas, mas / às vezes / case preservando - manter isso em mente! (Isso faz git não confundir neccessarily - mas pode e faz confundir o usuário do repositório git).

Finalmente, git é substancialmente mais lento no Windows do que em Linux, embora seja (na minha experiência limitada) mais rápido do que as alternativas.

Agora, sobre o caminho ...

Se não me engano, você deve ser capaz de simplesmente garantir que o binário principal git está no caminho - e que binário deve então tomar cuidado em referenciar os outros componentes git ... Mas eu não testei este <. / p>

O instalador MSYS Git sugere a opção 2 se você pretende executar git de um prompt de cygwin. Os garante ambiente Cygwin que as dependências git estão em seu caminho. Se você escolher esta opção, mas em seguida, invocar git de um Windows prompt de comando, todos os utilitários de linha de comando unix-y que git depende não será encontrado. IIRC, o Git em si é parcialmente implementado como scripts bash. Eu não sei que as operações irão falhar, mas eu não acho que git será utilizável desta forma.

Eu não tenho uma lista das ferramentas de sistema que a opção 3 substituições (o instalador menciona Find.exe), mas isso só iria afetá-lo se você é um ninja lote-script. Na linha de comando, find vai agora se referem a utilidade unix desse nome, não o exe que vem com o Windows. Ele não prejudicar próprio Windows de forma alguma.

Apenas correr com uma tesoura e escolher a opção 3: -)

Quando você usa a interface gráfica do Windows no Windows, e você criar seu primeiro repositório, não digitar o nome ".git" para o diretório do repositório. (Que irá criar, e em seguida, crie outra pasta .git debaixo dela, quando você finalmente pensar em procurar lá) Navegue até a pasta com suas fontes na mesma, e - basta escolher a pasta! O diretório do repositório ".get" será criado para você.

Em seguida, você ver os arquivos em suas mudanças unstaged, e clicando nos pequenos página ícones ao lado dos nomes de arquivos, movê-los para a mudança encenado.

E definitivamente correr com tesouras e selecione a opção 3. ninguém usa matar, tipo ou de encontrar mais a partir da linha de comando do Windows.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top