I have two local git repositories, both pointing to the same remote repository.
In one git repository, if I do git format-patch 1, how can I apply that patch to the other repository?
I have two local git repositories, both pointing to the same remote repository.
In one git repository, if I do git format-patch 1, how can I apply that patch to the other repository?
 
    
     
    
    Note: You can first preview what your patch will do:
First the stats:
git apply --stat a_file.patch
Then a dry run to detect errors:
git apply --check a_file.patch
Finally, you can use git am to apply your patch as a commit. This also allows you to sign off an applied patch.
This can be useful for later reference.
git am --keep-cr --signoff < a_file.patch 
As noted by riverofwind in the comments:
Don't forget if you have
autocrlf=falsefor Windows only development you'll need to pass--keep-crtoamto keep those CRLFs
See an example in this article:
In your git log, you’ll find that the commit messages contain a “Signed-off-by” tag. This tag will be read by Github and others to provide useful info about how the commit ended up in the code.

 
    
    git apply name-of-file.patch
 
    
    Or, if you're kicking it old school:
cd /path/to/other/repository
patch -p1 < 0001-whatever.patch
 
    
    First you should take a note about difference between git am and git apply
When you are using git am you usually wanna to apply many patches. Thus should use:
git am *.patch
or just:
git am
Git will find patches automatically and apply them in order ;-)
UPD
Here you can find how to generate such patches
 
    
    If you want to apply it as a commit, use git am.
 
    
     
    
    If you're using a JetBrains IDE (like IntelliJ IDEA, Android Studio, PyCharm), you can drag the patch file and drop it inside the IDE, and a dialog will appear, showing the patch's content. All you have to do now is to click "Apply patch", and a commit will be created.
 
    
    Another way is to add one of the local repositories as a remote to another one.
$ cd repo1
$ git remote add repo2 file:///path/to/repo2/.git
So that you can fetch branches, rebase local branches, or cherry-pick commits from one local repo to another.
$ git remote update repo2
$ git fetch repo2 branch:branch-from-repo2
$ git log branch-from-repo2
