web-dev-qa-db-fra.com

Confusion sur git; comment défaire?

Je voulais installer du code source sur git. Je ne sais pas vraiment ce que cela signifie; Je n'ai jamais utilisé git auparavant, mais je me suis dit qu'il était temps de l'apprendre,

  • J'ai d'abord installé git.

  • Ensuite, j'ai essayé de cloner le répertoire git du logiciel que je veux installer.

  • J'ai reçu un message disant "l'authenticité de (IP) ne peut pas être établie". Je suis allé de l'avant et je me suis retrouvé avec un autre message disant: "avertissement, tel ou tel sera ajouté aux hôtes connus." Je suis allé de l'avant, et cela a dit quelque chose au sujet de raccrocher la connexion.

Après avoir cherché sur Internet pendant un certain temps, j'ai réalisé que je n'avais pas besoin de git pour installer le logiciel, mais maintenant je l'ai installé, et j'ai ajouté un hôte à un fichier ou à un autre. Je crains d'avoir créé des problèmes de sécurité que je dois résoudre.

Quelqu'un peut-il m'aider à annuler ce que j'ai fait ou mieux comprendre ce que j'ai fait? L'ajout d'un projet git a-t-il ouvert mon système? Au-delà de cela, quelqu'un peut-il me dire comment fonctionne git. Tout ce que j'ai trouvé suppose que je connais des choses que je ne connais pas encore.

Merci

3
user11747

Git est un système de contrôle de version (un DVCS pour être plus précis). Un VCS (système de contrôle de version) sur un serveur (ou sur un ordinateur, ou dans le cloud), est utilisé pour stocker et suivre les modifications apportées aux données. Cela signifie simplement qu'il existe un référentiel de fichiers (généralement du code dans un langage de programmation, ainsi que la configuration, les instructions, etc.), et en plus d'être assis sur un serveur, il y a des modifications qui y sont suivies dans le temps. Le système de contrôle de version garde une trace de toutes les modifications apportées à n'importe quel fichier d'un projet, et ces projets sont hébergés et fréquemment publics ou partageables.

Un système de contrôle de version avec un frontal (que ce soit git ou Subversion/svn, Bazaar/bzr , Mercurial/hg , etc.) vous permet vraiment d'installer des applications (ou packages, code, scripts, correctifs) qui ne sont pas disponibles ou à jour dans les canaux standard. Une autre façon de dire que cela permet aux auteurs du code de le partager avec vous et les autres.

Git (ou un autre VCS) le fait en récupérant toutes les données d'un référentiel (l'IP.IP.IP.IP distant dans votre exemple) et en le déposant dans un répertoire (que vous choisissez, finalement) sur votre système. En soi, cela ne fait rien, sauf si vous exécutez réellement le code que vous avez obtenu.

Lorsque vous utilisez un VCS, avoir obtenu le code ne signifie pas nécessairement que vous allez l'exécuter en tant que suite complète. Vous pouvez le tester, le mettre à jour, fusionner certaines modifications, retirer certaines pièces. Mais dans certains cas, vous pouvez installer des applications complètes (ou plus) à partir d'un référentiel.
Si vous pouvez être sûr que le code est sûr, alors c'est un excellent moyen de jouer avec des goodies qui pourraient ne pas être disponibles autrement.

Avoir git sur votre système est peu susceptible d'être un problème. Si vous manquez d'espace, vous pouvez le supprimer du centre logiciel ou avec Sudo apt-get remove git. (Il peut y avoir des packages supplémentaires, selon la façon dont vous l'avez installé.)

Il est difficile de savoir comment annuler tout ce qui aurait pu être fait avec du code téléchargé sans savoir ce que vous avez téléchargé. Vous pourriez commencer par faire quelque chose comme ls -lart dans votre répertoire personnel (à partir de la ligne de commande) ou en recherchant dans le gestionnaire de fichiers Nautilus des répertoires récemment modifiés. Pour ces deux méthodes, vous recherchez les derniers fichiers de répertoires modifiés, dont certains peuvent être ceux que vous avez ajoutés à votre système avec git. Si vous trouvez cela, vous aurez une meilleure idée s'il y a autre chose que vous devez supprimer ou obtenir de l'aide pour annuler.

En ce qui concerne l'ajout de l'hôte, je suis presque sûr que @Christoph (ainsi que @psusi) est correct. La façon la plus simple d'annuler les modifications de clé ssh que vous avez apportées est la suivante:

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

Notez que cela supprimera l'intégralité du fichier known_hosts. Ce n'est généralement pas un problème, car il sera reconstruit au fur et à mesure que vous passez à des hôtes supplémentaires ou répétés. Alternativement, vous pouvez modifier le fichier (avec gedit, nano, etc.) et supprimer les lignes dont vous n'avez pas besoin. (Chaque ligne est associée à un hôte distant.) Encore une fois, cela devrait être sûr - au pire, vous devrez accepter de nouvelles clés lors de la connexion aux systèmes auxquels vous vous êtes connecté auparavant.

6
belacqua

Le message que vous avez reçu était de ssh, qui était probablement le protocole que vous utilisiez pour vous connecter au serveur git. Ssh se souvient de l'empreinte digitale des serveurs distants que vous avez utilisés dans le passé afin que lorsque vous essayez de vous reconnecter, il puisse vérifier qu'il s'agit bien du même serveur, et non de quelqu'un essayant de se faire passer pour ce serveur. Naturellement, la première fois que vous vous connectez, il ne peut pas faire cela, c'est ce dont il vous avertissait. Ce que vous avez enregistré était l'empreinte digitale afin que les futures connexions puissent être vérifiées comme étant au serveur légitime.

4
psusi