Tuesday 29 January 2019

Gitattributes opções binárias


Se você estiver usando o Git para colaborar com outros no GitHub, verifique se o Git está configurado corretamente para lidar com terminações de linha. Cada vez que você pressionar retorno em seu teclado você está realmente inserindo um caractere invisível chamado uma linha final. Historicamente, diferentes sistemas operacionais têm manuseado terminais de linha de forma diferente. Quando visualiza alterações num ficheiro, o Git processa terminações de linha da sua própria maneira. Como você está colaborando em projetos com o Git eo GitHub, o Git pode produzir resultados inesperados se, por exemplo, você estiver trabalhando em uma máquina Windows eo seu colaborador tiver feito uma alteração no OS X. Configurações globais para terminação de linha O comando git config core. autocrlf É usado para alterar como o Git manipula terminações de linha. É preciso um único argumento. No OS X, você simplesmente passa a entrada para a configuração. Por exemplo: No Windows, você simplesmente passa verdadeiro para a configuração. Por exemplo: No Linux, você simplesmente passa a entrada para a configuração. Por exemplo: No OS X e no Linux, você geralmente deseja passar entrada para esta configuração. No Windows, você normalmente deseja usar true. Por exemplo: Definições por repositório Opcionalmente, você pode configurar a maneira como o Git gerencia os terminais de linha em uma base por repositório configurando um arquivo. gitattributes especial. Esse arquivo é confirmado no repositório e substitui uma configuração de core. autocrlf de indivíduos, garantindo um comportamento consistente para todos os usuários, independentemente das configurações do Git. A vantagem de um arquivo. gitattributes é que suas configurações de linha estão associadas ao seu repositório. Você não precisa se preocupar se os colaboradores têm ou não a mesma linha que termina as configurações que você faz. O arquivo. gitattributes deve ser criado na raiz do repositório e comprometido como qualquer outro arquivo. Heres um exemplo do arquivo no GitHub Developers Guide. Um arquivo. gitattributes parece uma tabela com duas colunas: À esquerda é o nome do arquivo para o Git corresponder. À direita está a configuração de término de linha que o Git deve usar para esses arquivos. Exemplo Heres um exemplo. gitattributes arquivo. Você pode usá-lo como um modelo para seus repositórios: Você notará que os arquivos são correspondidos--.c..sln..png -, separado por um espaço, então dado um ajuste - texto. Texto eolcrlf. binário. Bem, vá sobre algumas configurações possíveis abaixo. Textauto Git irá lidar com os arquivos de qualquer maneira que ele pensa é melhor. Esta é uma boa opção padrão. Text eolcrlf O Git sempre converterá as terminações de linha para CRLF no checkout. Você deve usar isso para arquivos que devem manter as terminações CRLF, mesmo em OSX ou Linux. Por exemplo, aqui está um projeto do Windows que impõe terminais de linha CRLF. Texto eollf O Git sempre converterá as terminações de linha para LF no checkout. Você deve usar isso para arquivos que devem manter terminações LF, mesmo no Windows. Por exemplo, aqui está um projeto que impõe limites de linha LF. O Git binário compreenderá que os arquivos especificados não são texto e não deve tentar alterá-los. A configuração binária é também um alias para - text - diff. Atualizando um repositório após alterar os terminais de linha Depois de definir a opção core. autocrlf e confirmar um arquivo. gitattributes, você pode achar que o Git quer confirmar arquivos que você não tenha modificado. Neste ponto, o Git está ansioso para alterar as terminações de linha de cada arquivo para você. A melhor maneira de configurar automaticamente suas terminações de linha de repositorios é primeiro fazer backup de seus arquivos com o Git, excluir todos os arquivos do repositório (exceto o diretório. git) e restaurar os arquivos de uma só vez. Salve seus arquivos atuais no Git, para que nenhum de seus trabalhos seja perdido. Remova todos os arquivos do índice Gits. Reescreva o índice Git para pegar todos os novos terminais de linha. Adicione todos os arquivos alterados de volta e prepare-os para um commit. Esta é a sua chance de inspecionar quais arquivos, se houver, permaneceram inalterados. Confirme as alterações em seu repositório.

No comments:

Post a Comment