Back

git patch/apply 某一个或者多个commit ( apply a patch generated from a specific commit )

发布时间: 2013-11-14 10:57:00

refer to:
http://stackoverflow.com/questions/6658313/generate-a-git-patch-for-a-specific-commit

如何在另外一个机器上 apply某个 path?  

我们遇到一个情况, 在某个机器上,需要一个紧急部署,但是又不希望手工去修改(因为已经有了一个commit 了)。这样的情况下,可以使用git path 专门为某个commit 生成patch, 然后在这个远程机器上apply it.  ( apply a patch generated from a specific commit ?)

$ git format-patch -1 <sha>   # =>  0001__.patch

$ git apply <path_file >

如果多个连续的commit如何做patch?

git format-patch -4 <commit-sha>  

就会出现连续N个 .patch文件, 挨个apply 即可。 注意这个 -4 表示是从git log出现后,从上往下的顺序算起,

但是生成 .patch文件的顺序,却是 git log 的从下往上的顺序弄起(也就是是时间上从旧到新,) ,  很智能。

(下图中的git patch 命令应为 git format-patch)

然后我们会得到:


Back