gerrit“Format Patch”和“Checkout”选项有什么区别?基本上,我希望对本地目录进行提交的所有更改,而不在本地存储库中进行新的提交。
两者都首先调用git fetch <url> refs/changes/xx/xxx/xx以获取更改的历史记录。
Format Patch然后打电话git format-patch -1 --stdout FETCH_HEAD。它生成标准输出更改的当前补丁集的补丁。您可以将其重定向到本地文件或将其删除,以便创建--stdout名为的补丁。0001-xxxx.patch
请注意,如果您要将补丁发送给其他人,或者要将补丁应用到另一个存储库中,最好追加到--binary,git format-patch这样您就不必考虑提交是否更改了任何二进制文件。应用补丁的存储库可能没有这些二进制文件的必要数据,这将导致应用失败。有了--binary,必要的数据也包含在补丁中。
Checkout然后打电话git checkout FETCH_HEAD。它将本地代码切换到更改的当前补丁集的修订版,并导致分离的 HEAD 状态。
如果想将commit的变更引入到本地分支,可以粘贴命令Cherry Pick并附加选项-n,然后运行。Format Patch另一种方法是先运行without命令--stdout,然后运行git apply -3 0001*.patch。
| 归档时间: |
|
| 查看次数: |
2507 次 |
| 最近记录: |