Comment créer correctifs à l'aide Diff Commande - Linux

Si vous avez apporté des modifications au code et que vous souhaitez partager ces changements avec les autres - la meilleure façon est de leur fournir un fichier correctif.

diff est l'outil de ligne de commande Linux qui est utilisé pour créer des patches (parfois appelés diffs) et exige que vous avez deux copies du code: l'un avec vos modifications et un sans.

Cet article explique comment créer un patch pour un seul fichier ou un répertoire entier en utilisant diff et comment appliquer ce patch après.

Créer un patch pour un seul fichier sous Linux

Disons que vous avez un fichier original.

Pour créer un fichier patch contenant les modifications effectuées, exécutez la commande suivante:

Créez un fichier diff dans le format unifié

Appliquer un patch à un fichier

Une personne, qui a le fichier d'origine et veut appliquer les modifications que vous avez apportées, peut patcher le fichier original avec la commande suivante:

Annuler un patch

Pour revenir un précédemment appliqué à un patch de fichier, utilisez cette commande:

Créer un patch pour un répertoire sous Linux

Supposons que vous avez un répertoire avec des fichiers et sous-répertoires à l'intérieur.

Vous copiez récursive son contenu à un nouveau répertoire et de faire les mises à jour nécessaires en elle.

Pour créer un fichier patch contenant les modifications que vous avez apportées, exécutez la commande suivante:

comparer récursive tous les sous-répertoires

Créez un fichier diff dans le format unifié

Traiter les fichiers absents comme vide

Appliquer un patch à un répertoire

Une personne, qui a le répertoire d'origine et veut appliquer les modifications que vous avez apportées, doit copier le répertoire original et le fichier correctif à un emplacement (par exemple / tmp), aller à cet endroit et d'appliquer le patch avec cette commande:

Appliquer le patch à la même structure de répertoire que lorsque le patch a été créé

Annuler un patch

Pour revenir un précédemment appliqué à un patch de répertoire, utilisez cette commande:

Articles Liés