I use this method for creating patch, hope it helps .
Let suppose you will modify this file
> vendor/magento/module-customer/Block/CustomerData.php
Create a copy of that file whith your changes on it :
> vendor/magento/module-customer/Block/CustomerDataModified.php
What you need to do is run this command :
diff -u CustomerData.php CustomerDataModified.php > diff.patch
Move **diff.patch** in your root under a directory, example **Mypatches** dir .
Delete the file added CustomerDataModified.php since the patch is generated with the changes.
Here comes the tricky part , needs some manual modification now :
When you open the diff.patch you will get something like this on the top :
--- CustomerData.php 2018-02-21 01:26:16.000000000 -0500
+++ CustomerDataModified.php 2019-01-03 03:57:47.326011737 -0500
Replace those line with this one :
diff --git a/Block/CustomerData.php b/Block/CustomerData.php
index 3ee2rd..8349152 111644
--- a/Block/CustomerData.php
+++ b/Block/CustomerData.php
The index is needed (the numbers are generated by me random, by default are generated from git but in most cases the vendor is in **.gitignore**)
Next Step is modification of the **composer.json** in the root of your magento :
Add the extra section (if you dont have one already)
"extra": {
"magento-force": "override",
"patches": {
"magento/module-customer": {
"some description abt issue applying this patch": "Mypatches/diff.patch"
}
}
}
And there you go . Your patch is **diff.patch** (you can call whatever you like ) .
Run `composer install` to apply that