use git send patch

本文详细介绍了如何使用Git将代码更改打包成PATCH文件,并将其发送至指定邮箱以供代码审查的过程。包括克隆仓库、修改代码、提交更改、生成及发送PATCH等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 搞了一个早上,终于把PATCH提交到社区了,等待审批。

 

1/ git-clone project.repo.git

 

2/ do some modifications

 

3/ git-commit -a -m "your message that will appare as the PATCH title and description"

 

4/ git-format-patch -s origin

    # generate a patch by option

    # -s is add signed-off-by line

    # origin is the original branch that you must not touch

    # this will generate a patch named as "0001xxxx.txt" in the currently directory

 

5/ git-send-email --to to_email@addr_list --cc cc_email@addr_list  0001xxxx.txt

    # this will send the patch as the email body. Also git do some format things for us like as fetch Subject/From lines and so on.

 

OK. 完成了。 这就是一般开发人员提交PATCH的大致过程了,需要注意的是 send-email 用到了 sendmail,我用的debian, 用的是 exim4, 那么就需要配置一下了,google 吧。

 

总有一天会接受我的PATCH的。

 

[纪念:内核也有我1行代码啦......116]

Git 中,`patch` 是一种用于传输和应用代码变更的机制。它可以通过 `git diff` 或 `git format-patch` 命令生成,并通过 `git apply` 或 `git am` 命令进行应用。 ### 1. 生成补丁 #### 使用 `git diff` 生成补丁 `git diff` 可以生成两个提交之间的差异内容,输出为一个 `.patch` 文件。该方式适用于简单的补丁需求。 ```bash git diff > my_changes.patch ``` 如果需要比较特定分支与当前分支的差异,可以使用如下命令: ```bash git diff master..feature-branch > feature_branch_changes.patch ``` #### 使用 `git format-patch` 生成补丁 `git format-patch` 会生成符合邮件格式的补丁文件,适合用于代码审查或提交到开源项目。 ```bash git format-patch master -o patches/ ``` 这将生成一系列补丁文件,每个提交对应一个 `.patch` 文件,并保存在 `patches/` 目录中[^4]。 --- ### 2. 应用补丁 #### 使用 `git apply` `git apply` 是一种直接将补丁文件应用到当前工作目录的方式,不会自动创建提交。 ```bash git apply my_changes.patch ``` 如果补丁文件是通过 `git format-patch` 生成的,则需要先将其转换为普通 diff 格式,或者使用 `git am` 来处理。 #### 使用 `git am` `git am` 专门用于应用通过 `git format-patch` 生成的补丁文件,并会自动创建提交。 ```bash git am < patches/0001-my-changes.patch ``` 如果补丁中包含多个提交,可以依次应用所有补丁文件: ```bash git am --directory=patches/ ``` --- ### 3. 冲突解决 在应用补丁时,可能会遇到冲突。Git 会提示冲突文件,并标记冲突区域。 解决冲突后,使用以下命令继续应用补丁: ```bash git add <resolved-file> git am --continue ``` 如果希望跳过某个补丁,可以使用: ```bash git am --skip ``` 若需中止整个补丁应用过程: ```bash git am --abort ``` --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值