Confusão sobre o git; como desfazer?

3

Eu queria instalar algum código-fonte que estava no git. Não sei realmente o que isso significa; Eu nunca usei o git antes, mas achei que era hora de aprender,

  • Eu instalei o git pela primeira vez.

  • Em seguida, tentei clonar o diretório git do software que eu quero instalar.

  • Recebi uma mensagem dizendo "a autenticidade de (IP) não pode ser estabelecida". Eu fui em frente e acabei com outra mensagem dizendo: "aviso, tal e tal será adicionado aos hosts conhecidos." Eu fui em frente, e disse algo sobre desligar a conexão.

Depois de pesquisar na internet por algum tempo, percebi que não precisava do git para instalar o software, mas agora eu o instalei e adicionei algum host a algum arquivo ou outro. Estou preocupado que criei alguns problemas de segurança que preciso corrigir.

Alguém pode me ajudar a desfazer o que eu fiz, ou entender melhor o que eu fiz. A adição de um projeto git abriu meu sistema? Além disso, alguém pode me dizer como funciona o git. Tudo o que encontrei pressupõe que conheço coisas que ainda não sei.

Obrigado

    
por belacqua 03.03.2011 / 08:03

2 respostas

6

O Git é um sistema de controle de versão (a DVCS para ser mais exato). Um VCS (sistema de controle de versão) em um servidor (ou em um computador ou na nuvem) é usado para armazenar e rastrear alterações nos dados. Isso significa apenas que há um repositório de arquivos (geralmente código em alguma linguagem de programação, junto com configuração, instruções, etc.), e além de ficar em um servidor, ele faz alterações no tempo de execução. O sistema de controle de versão rastreia quaisquer alterações em qualquer arquivo em um projeto, e esses projetos são hospedados e frequentemente públicos ou compartilháveis.

Um sistema de controle de versão com um front-end (seja git ou subversion / svn, bazaar / bzr , mercurial / hg , etc.) realmente apenas permite que você instale aplicativos (ou pacotes, código, scripts, patches) que não estão disponíveis ou atualizados nos canais padrão. Outra maneira de colocar isso é permitir que os autores do código compartilhem com você e com os outros.

O Git (ou outro VCS) faz isso obtendo todos os dados de um repositório (o IP.IP.IP.IP remoto em seu exemplo) e inserindo-os em um diretório (que você escolhe, no final das contas) em seu sistema . Por si só, isso não faz nada, a menos que você esteja realmente executando o código que obteve.

Quando você está usando um VCS, ter obtido o código não significa necessariamente que você o executará como um conjunto completo. Você pode testá-lo, atualizá-lo, mesclar em algumas alterações, tirar algumas peças. Mas, em alguns casos, você pode instalar aplicativos completos (ou mais) de um repositório.
Se você puder ter certeza de que o código é seguro, essa é uma ótima maneira de brincar com itens que podem não estar disponíveis de outra forma.

Ter git no seu sistema provavelmente não será um problema. Se você tem pouco espaço, pode removê-lo do centro de software ou com %código%. (Pode haver pacotes adicionais, dependendo de como você o instalou.)

É difícil saber como desfazer qualquer coisa que possa ter sido feita com o código baixado sem saber o que você baixou. Você pode começar fazendo algo como sudo apt-get remove git em seu diretório pessoal (a partir da linha de comando) ou procurando no gerenciador de arquivos Nautilus para diretórios modificados recentemente. Para esses dois métodos, você está procurando os últimos arquivos de diretórios alterados, alguns dos quais podem ser os que você inseriu no sistema com o git. Se você achar isso, você terá uma ideia melhor se precisar remover mais alguma coisa ou pedir ajuda para desfazer isso.

No que diz respeito à adição do host, tenho certeza que o @Christoph (assim como o @psusi) está correto. A maneira mais fácil de reverter as alterações da chave ssh que você fez é fazer isso:

 buntubox#$  rm -i ~/.ssh/known_hosts 

Observe que isso excluirá todo o arquivo known_hosts. Isso geralmente não é um problema, porque ele será reconstruído como ssh para hosts adicionais ou repetidos. Como alternativa, você pode editar o arquivo (com gedit, nano, etc.) e remover linhas desnecessárias. (Cada linha é associada a um host remoto.) Novamente, isso deve ser seguro - na pior das hipóteses, você terá que aceitar novas chaves ao fazer login em sistemas nos quais já efetuou login anteriormente.

    
por belacqua 03.03.2011 / 08:18
4

A mensagem que você recebeu era do ssh, que provavelmente era o protocolo que você estava usando para se conectar ao servidor git. Ssh se lembra da impressão digital de servidores remotos que você usou no passado, de modo que, quando você tenta se conectar novamente, pode verificar se é realmente o mesmo servidor e não alguém tentando se passar por esse servidor. Naturalmente, a primeira vez que você se conecta, não pode fazer isso, que é o que estava lhe alertando. O que você salvou foi a impressão digital para que conexões futuras possam ser verificadas como sendo para o servidor legítimo.

    
por psusi 03.03.2011 / 15:53