How to apply a patch generated with git format-patch?

后端 未结 6 1056
暖寄归人
暖寄归人 2020-11-29 15:10

I have 2 git local repositories both pointing to the same remote repository.

In one git repository, if I do git format-patch 1, how can I apply that patc

相关标签:
6条回答
  • 2020-11-29 15:30

    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.

    0 讨论(0)
  • 2020-11-29 15:37

    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: it allows you to sign off an applied patch.
    This can be useful for later reference.

    git am --signoff < a_file.patch 
    

    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.

    Example

    0 讨论(0)
  • 2020-11-29 15:39

    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

    0 讨论(0)
  • 2020-11-29 15:41
    git apply name-of-file.patch
    
    0 讨论(0)
  • 2020-11-29 15:48

    Or, if you're kicking it old school:

    cd /path/to/other/repository
    patch -p1 < 0001-whatever.patch
    
    0 讨论(0)
  • 2020-11-29 15:52

    If you want to apply it as a commit, use git am.

    0 讨论(0)
提交回复
热议问题