Comment migrer un projet existant vers GitHub ?
Ici, nous abordons les points importants à prendre en compte pour la migration d’un projet vers GitHub à partir d’un système de gestion de versions héritée.
Pourquoi effectuer une migration vers GitHub ?
La documentation qui vante les mérites de GitHub ne manque pas. Il est au-delà du champ de ce module de vous convaincre d’effectuer une migration. Mais nous pouvons récapituler certains avantages clés dans le cadre des rubriques que vous devez prendre en compte quand vous planifiez votre migration.
Gestion de versions
GitHub utilise exclusivement Git, sans doute le meilleur système de gestion de versions existant actuellement. Toutefois, Git est incroyablement sophistiqué et peut présenter certains scénarios complexes d’utilisation du code que votre équipe ne connaît probablement pas. Les branches et les demandes de tirage occupent une partie essentielle du quotidien des développeurs qui utilisent Git. Il est donc nécessaire de savoir quand et comment vous en servir efficacement pour une bonne expérience sur GitHub. Il est utile pour votre équipe de commencer par se familiariser avec le flux GitHub pour pouvoir devenir rapidement opérationnelle.
Garder votre code dans le cloud
Le code des projets est encore pour beaucoup stocké dans des systèmes de gestion de versions hérités derrière des pare-feu d’entreprise. Quand vous migrez vers GitHub, vous déplacez votre code vers la plateforme cloud de GitHub, où les membres de l’équipe peuvent y accéder facilement, où qu’ils soient. Cette migration offre une bonne opportunité de passer en revue la stratégie de votre équipe concernant les types de fichiers et de données que vous gardez dans la gestion de versions. En guise de meilleure pratique, vous devez supposer que tout ce que vous validez dans GitHub est compromis. Veillez donc à ne pas inclure de données sensibles, par exemple des clés API, des mots de passe ou d’autres fichiers contenant des informations de cette nature.
Remarque
GitHub offre à la fois des dépôts publics et privés, ainsi que des contrôles d’accès précis pour différentes parties d’un dépôt. Ceci vous permet de contrôler à qui vos projets sont visibles et quelle action un utilisateur donné peut effectuer.
Collaboration
GitHub offre une excellente prise en charge de la collaboration d’équipe grâce à des fonctionnalités comme les problèmes, les demandes de tirage et les revues de code. Toutefois, le flux GitHub peut différer des pratiques auxquelles votre équipe est actuellement habituée. Il est conseiller de déterminer si l’équipe envisage de s’adapter à GitHub, si elle conservera son processus actuel ou si elle adoptera une solution intermédiaire avant d’effectuer la migration.
Si votre projet est un projet open source qui autorise des contributeurs externes, il n’y a pas de meilleur choix que GitHub pour maximiser les avantages.
Migration vers GitHub
Considérations relatives à la planification
La chose la plus importante à prendre en compte avant d’effectuer votre migration vers GitHub est de savoir si vous devez conserver quoi que ce soit à part l’état actuel de votre source. Si le fait de commencer un nouveau projet avec seulement votre code source actuel en l’état vous convient, votre meilleure option est de le traiter comme un nouveau projet et de charger le code source dans votre dépôt.
Cependant, si vous voulez conserver l’historique de la gestion des versions, vous devez effectuer une importation en utilisant l’outil GitHub Migrator. Pour plus d’informations sur la prise en charge de l’importation pour différentes plateformes de gestion de versions, consultez Importation de données à partir de systèmes de gestion de versions tiers.
Au-delà des données Git, vous souhaiterez probablement conserver les problèmes, les demandes de tirage ou d’autres données. La prise en charge de ces éléments varie selon la plateforme et est généralement disponible dans les projets de la communauté. Ce module ne couvre pas la migration de données autres que les données Git.
Gestion des fichiers binaires actuellement stockés dans votre projet
Comme bonne pratique, les dépôts GitHub doivent être limités aux fichiers nécessaires à la génération de projets. Évitez de commiter de gros fichiers binaires, comme les artefacts de build. Pour suivre les fichiers binaires tels que les feuilles de calcul et les présentations, les portails qui comprennent comment les traiter et les versionner correctement conviennent mieux. Si vous avez besoin de versionner de gros fichiers binaires, utilisez l’extension Git Git LFS (Large File Storage).
Création de fichiers Git importants comme les fichiers .gitignore
Git prend en charge les fichiers .gitignore
pour faciliter l’application de stratégies de fichiers de gestion de versions. Ces fichiers définissent les modèles de recherche utilisés pour exclure des fichiers et des dossiers du suivi du contrôle de code source. L’exemple simple suivant exclut de manière récursive tous les dossiers nommés Bin ou bin ainsi que leur contenu, du suivi du contrôle de code source :
[Bb]in/
Vous pouvez en savoir plus en consultant Ignorer des fichiers. Vous pouvez également consulter la collection de fichiers .gitignore
de démarrage proposés pour différentes plateformes dans le dépôt gitignore.
Il existe plusieurs autres fichiers couramment utilisés dans les projets GitHub pour expliquer différentes stratégies aux consommateurs et contributeurs du dépôt. Même si votre projet est privé et limité à un public restreint, il peut toujours être utile d’exprimer de manière explicite ces stratégies. Même si aucun de ces fichiers n’est obligatoire, nous en avons répertorié quelques-uns parmi les plus courants.
File | Objectif |
---|---|
README.md |
Page d’accueil du répertoire. Cette page s’affiche quand son répertoire apparaît dans GitHub. |
LICENSE.md |
Licence sous laquelle le code est fourni. |
CONTRIBUTING.md |
Explique comment les utilisateurs doivent contribuer au projet, comme les attentes en matière de demande de tirage. |
SECURITY.md |
Explique la stratégie de sécurité du projet. Permet de fournir des conseils aux utilisateurs qui souhaitent envoyer du code ou des commentaires sensibles liés à la sécurité, et qui ne doivent pas être divulgués publiquement avant leur traitement. |
Découvrez-en davantage sur la configuration de votre projet pour des contributions saines.
Importation de votre projet dans GitHub
Une fois votre dépôt GitHub préparé pour la migration, accédez à l’onglet Code de celui-ci. Utilisez l’option Import code pour spécifier le dépôt source.
L’outil GitHub Migrator s’occupe du reste.