diff --git a/Software/Applications/Git/Git_使用说明.md b/Software/Applications/Git/Git_使用说明.md index ae7c1c6..9d56acd 100644 --- a/Software/Applications/Git/Git_使用说明.md +++ b/Software/Applications/Git/Git_使用说明.md @@ -319,10 +319,19 @@ git push ### 生成 Patch -先 git log 看一下有哪些提交,然后看一下要从那个 commit id 开始生成 Patch。然后从 commit id 开始(不包含该 commit id)生成 Patch: - ```bash +# 生成最近的 1 次 commit 的 patch +git format-patch HEAD^ +# 生成最近的 3 次 commit 的 patch +git format-patch HEAD^^^ +# 生成某 commit 以来的修改 patch(不包含该 commit) git format-patch +# 生成两个 commit 间的修改的 patch(包含两个 commit. 都是具体的 commit 号) +git format-patch .. +# 生成单个 commit 的 patch +git format-patch -1 +# 生成从根到 提交的所有 patch +git format-patch --root ``` ### 应用 Patch @@ -330,8 +339,14 @@ git format-patch 将所有 Patch 拷贝到某一文件夹下,然后: ```bash -git am --abort +# 检查 patch 是否能够打上,如果没有任何输出,则说明无冲突,可以打上 +git apply --check /*.patch +# 将谋文件夹下的全部 patch 都打上 git am /*.patch +# 当 git am 失败时,用以将已经在 am 过程中打上的 patch 废弃掉(比如有三个 patch,打到第三个 patch 时有冲突,那么这条命令会把打上的前两个 patch 丢弃掉,返回没有打 patch 的状态) +git am --abort +# 当 git am 失败,解决完冲突后,这条命令会接着打 patch +git am --resolved ``` ## 参考资料