git patch/apply 某一个或者多个commit ( apply a patch generated from a specific commit )
访问量: 3672
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)
然后我们会得到: