【发布时间】:2011-01-16 00:44:13
【问题描述】:
我有两个本地 git 存储库,都指向 same 远程存储库。
在一个 git 存储库中,如果我执行git format-patch 1,我如何将该补丁应用到另一个存储库?
【问题讨论】:
我有两个本地 git 存储库,都指向 same 远程存储库。
在一个 git 存储库中,如果我执行git format-patch 1,我如何将该补丁应用到另一个存储库?
【问题讨论】:
【讨论】:
git am < somepatch.patch 产生“致命:不允许空标识名称(对于 )”。谁能给我解释一下为什么?
Author 标头,和/或您没有 git config user.{name,email}。
git apply --check 表示 patch does not apply,git apply -3 表示 repository lacks the necessary blob to fall back on 3-way merge. 在 git 中,rebase 提交是如此轻而易举;但是人们如何在更新的代码之上重新定位他们的补丁?
git apply name-of-file.patch
【讨论】:
或者,如果你是老派:
cd /path/to/other/repository
patch -p1 < 0001-whatever.patch
【讨论】:
git apply 不起作用,不知道为什么
首先你应该记下git am和git apply之间的difference
当您使用git am 时,您通常想要应用许多补丁。因此应该使用:
git am *.patch
或者只是:
git am
Git 会自动查找补丁并按顺序应用它们;-)
UPD
Here你可以找到如何生成这样的补丁
【讨论】:
git apply .. 和--reverse :-) ?
如果您想将其应用为作为提交,请使用git am。
【讨论】:
git apply
git apply 将更改应用为补丁,而不是提交,而git am 假定电子邮件的文本是提交消息(有一些例外)并应用更改创建提交(它可以尝试通过与git am --3way 进行三向合并来解决冲突。
git am 工作。它在中间停止应用更改并且生成的提交不完整
如果您使用的是 JetBrains IDE(如 IntelliJ IDEA、Android Studio、PyCharm),您可以将补丁文件拖放到 IDE 中,然后会出现一个对话框,显示补丁的内容。您现在所要做的就是点击“Apply patch”,然后就会创建一个提交。
【讨论】: