Différence entre GitHub Fork et Clone

Forking et Cloning sont les deux concepts les plus importants qui peuvent être familiers aux utilisateurs de GitHub (et des plateformes d’hébergement de code similaires). Mais rien n’est aussi simple qu’il n’y paraît dans le monde de l’open source, et il y a donc naturellement beaucoup de confusion autour de ces deux termes. Qu’est-ce qu’un fork ? Qu’est-ce qu’un clone ? La fourche et le clone sont-ils la même chose ? Et la surcharge du terme fork a amplifié cette confusion au sein de la communauté open source. Ainsi, parfois, un fork est un clone, mais la plupart du temps, un fork est simplement un fork. Voyons ce qu’il en est et en quoi ces deux concepts diffèrent.

Qu’est-ce qu’un GitHub Fork ?

Parfois, lorsque vous travaillez sur des projets open source, il arrive que des personnes qui ne font pas partie de votre équipe veuillent contribuer à votre projet. Disons que vous voulez contribuer au projet de quelqu’un d’autre, dont vous n’êtes pas le propriétaire ou le collaborateur. Que ferez-vous alors ? Vous ne pouvez pas modifier le fichier et vous ne pouvez certainement pas en créer un nouveau. Donc, dans de telles situations, ce que vous allez faire, c’est forker un dépôt. Mais qu’est-ce qu’un fork ? Une fourche n’est rien d’autre qu’une copie d’un dépôt qui vous permet de travailler sur le projet de quelqu’un d’autre sans affecter le projet original. Le fork est l’une des opérations les plus simples sur GitHub qui permet de créer une copie d’un dépôt sans avoir besoin d’autorisation pour modifier le dépôt d’origine. Plutôt que de télécharger l’intégralité du dépôt, cette opération crée une copie sur les serveurs de GitHub qui constitue un dépôt distinct. Vous pouvez créer un dépôt local, y apporter des modifications, faire des commits et reverser les modifications dans le dépôt d’origine.

Qu’est-ce que le clone GitHub ?

La collaboration est un élément fondamental de Git, mais pour collaborer dans Git, il faut disposer d’un dépôt Git distant. Techniquement, il est possible de pousser des modifications vers les dépôts individuels et d’en tirer des modifications, mais ce n’est souvent pas conseillé car cela crée un désordre sur qui travaille sur quoi si l’on n’est pas prudent. En outre, vous ne voulez pas interrompre vos collaborateurs et ils doivent pouvoir accéder au référentiel même si votre machine est hors ligne. Il est donc utile d’avoir un référentiel commun. La meilleure chose à faire est de cloner un référentiel. Mais qu’est-ce qu’un clone ? Un clone est en fait une copie locale d’un référentiel distant qui est stockée sur votre ordinateur portable ou personnel afin que vous puissiez synchroniser les emplacements locaux et distants du projet. Cela vous permet de travailler sur les fichiers d’un projet ou de les modifier localement plutôt que d’interférer directement avec le dépôt d’origine. L’historique complet de toutes les modifications apportées au projet est également extrait par défaut lorsque vous clonez un dépôt.

Différence entre Fork et Clone

Signification

– Un fork d’un dépôt n’est rien d’autre qu’une copie de ce dépôt qui vous permet de travailler sur le projet de quelqu’un d’autre sans affecter le projet original. Plutôt que de télécharger l’intégralité du dépôt, il crée une copie sur les serveurs de GitHub qui constitue un dépôt distinct sur lequel vous pouvez travailler. Un clone, quant à lui, est essentiellement une copie locale d’un dépôt distant qui est stockée sur votre ordinateur portable ou personnel afin que vous puissiez synchroniser les emplacements locaux et distants du projet.

Fonctionnement

– Forking est l’une des opérations les plus simples sur GitHub qui permet de créer une copie d’un dépôt sans avoir besoin d’autorisation pour modifier le dépôt original. Le forçage d’un dépôt crée une copie du dépôt sur votre compte GitHub, et à partir de là, vous pouvez cloner le dépôt. Le clonage vous permet de travailler ou de modifier les fichiers d’un projet localement plutôt que de travailler directement sur le dépôt original. Vous pouvez cloner n’importe quel dépôt public, exécuter le code sur votre ordinateur personnel et y apporter des modifications. Mais vous ne pouvez repousser les modifications vers le dépôt distant que si vous avez les droits de repousser le dépôt.

Objectif

– Si vous souhaitez créer un pont entre votre copie du projet et le dépôt d’origine, il est préférable de forker un dépôt. Cela vous permet de collaborer avec d’autres développeurs dans le monde entier. Ainsi, le forkage vous permet de contribuer au code des dépôts dont vous n’êtes pas le propriétaire ou un collaborateur. Le clonage crée une réplique exacte d’un dépôt Git distant et le télécharge sur votre machine locale, sans affecter le dépôt distant. Cela vous permet de travailler sur les projets, de corriger certains problèmes ou d’apporter des modifications au code sans rien changer au dépôt distant.

Résumé

L’objectif principal de Git est d’encourager la collaboration entre les développeurs du monde entier. Il est donc impératif que vous puissiez contribuer aux dépôts sans en être le propriétaire ou l’un des collaborateurs. La collaboration est un élément fondamental des plateformes d’hébergement de code comme GitHub. Le forçage et le clonage sont deux des opérations les plus importantes qui vous permettent de mieux collaborer avec d’autres personnes dans le monde. Le forçage est le processus de création d’une copie du projet qui vous permet de contribuer au projet de quelqu’un d’autre sans affecter le dépôt d’origine. Le clonage consiste à copier un projet depuis son dépôt distant d’origine vers votre propre machine locale dans le but de le modifier ou d’y ajouter de nouvelles fonctionnalités, mais sans interférer avec le dépôt d’origine.