git 命令解析

git 补丁

Git 提供了两种补丁方案:

  (1)用 git diff 生成的UNIX标准补丁.diff文件:.diff文件只是记录文件改变的内容,不带有commit记录信息,多个commit可以合并成一个diff文件。
  (2)用 git format-patch 生成的Git专用.patch 文件:.patch文件带有记录文件改变的内容,也带有commit记录信息,每个commit对应一个patch文件。

创建 patch 文件:

  git format-patch 2a2fb4 -2
  git format-patch 2a2fb4 89aebe
  git diff 2a2fb4 89aebfc > xxx.diff

应用 patch 文件:

  git apply --check path/to/xxx.patch
  git apply path/to/xxx.patch
  git apply --check path/to/xxx.diff
  git apply path/to/xxx.diff

git apply --check 后有冲突的解决方法:

  (1)首先使用以下命令行,自动合入 patch 中不冲突的代码改动,同时保留冲突的部分:
    git apply --reject path/to/xxxx.patch
    同时会生成后缀为 .rej 的文件,保存没有合并进去的部分的内容。
  (2)解决完冲突后,删除后缀为 .rej 的文件,并执行 git add . 添加改动到暂存区。
  (3)接着执行 git am --resolved 或者 git am --continue

posted @ 2019-11-01 10:07  qccz123456  阅读(450)  评论(0编辑  收藏  举报