当前位置: 代码迷 >> 综合 >> git patch 说明
  详细解决方案

git patch 说明

热度:42   发布时间:2024-03-07 19:53:06.0

联网的模式下就不详述了,可以使用git fetch , git pull, git checkout, git commit, git push等操作同步,

本文主要说一下离线模式下,不能使用上述命令的情况下,怎么同步版本。

假设目前最新开发版本 git log记录如下:

commit 5555555555555555555
commit 4444444444444444444
commit 3333333333333333333
commit 2222222222222222222
commit 1111111111111111111

另一台离线的机器上是几天前同步的版本,git log记录是:

commit 2222222222222222222
commit 1111111111111111111

我们用人眼分析,是缺了三次最近提交,怎么办呢?

切换在线机器上最新的分支下,输入命令:

 git format-patch 22222222222222222222

表示从哪个版本开始(也就是离线机器上的版本), 到当前最新版本的增量更新文件,

然后会生成一些以.patch结尾的文件,这些就是从版本3333333333333333333333到555555555555555555之间的改动记录和文件,

将这些.patch文件离线copy到另一台机器上,执行:

git am *.patch

正常情况下,就会把近期更新合并到本地,即与主分支的55555555555555555内容都一样了。

但有个问题,就是两个机器的文件、git log记录确实是一样的,但SHA值不一样了,就不好比较版本了,怎么解决?