git patch相关命令收集

2022-08-25  本文已影响0人  PigJune

1,

//生成从当前commit往前x个commit的patch文件

git format-patch -x

//默认有几个commit就会生成几个.patch文件,并且默认文件名从最早提交的commit 0001编号

//生成从指定commit_id(包含该commit) 往前x个commit的patch文件

git format-patch commit_id -x

//单独生成某个commit的patch

git format-patch commit_id -1

//当然也可以将所有commit的差异合并到一个patch文件,方便使用

git format-patch -x --stdout > patch-name.patch

//生成两个commit之间的所有commit的patch文件(不包含start_commit):

git format-patch start_commit_Id..end_commit_Id

2,

//检查patch文件

git apply --stat xxx.patch

//检查能否应用成功

git apply --check xxxx.patch

使用git am xxx.patch可以应用指定patch文件

//使用模式匹配git am *.patch会自动根据编号依次应用所有的patch文件(所以生成patch的编号自动安装提交先后生成)

git am *.patch

//使用git apply 命令也可以应用patch(多用于.diff文件)但是相比于am命令不会将commit信息加入

3,

//am 应用patch有冲突,则会提示命令用于查看冲突具体

git am --show-current-patch

//以及用于跳过、继续或者终止am命令

git am --continue

git am --skip

git am --abort

//使用git am -3 xxx.patch可以在发生冲突时使用git mergetool调用冲突合并工具解决冲突

git am -3 *.patch

git mergetool

上一篇下一篇

猜你喜欢

热点阅读