Git 教程

浏览10399
更新时间2025-08-21

Patch 是一个文本文件,其内容类似于 Git diff,但除了代码之外,它还有关于提交的元数据; 例如,提交 ID、日期、提交消息等。我们可以从提交创建补丁,其他人可以将它们应用到他们的存储库。

Jerry 为他的项目实现了 strcat 函数。 Jerry 可以创建他的代码路径并将其发送给 Tom。 然后,他可以将收到的补丁应用到他的代码中。

Jerry 使用 Git format-patch 命令为最新提交创建补丁。 如果您想为特定提交创建补丁,请使用 COMMIT_ID 和 format-patch 命令。

[jerry@CentOS project]$ pwd
/home/jerry/jerry_repo/project/src

[jerry@CentOS src]$ git status -s
M string_operations.c
?? string_operations

[jerry@CentOS src]$ git add string_operations.c

[jerry@CentOS src]$ git commit -m "Added my_strcat function"

[master b4c7f09] Added my_strcat function
1 files changed, 13 insertions(+), 0 deletions(-)

[jerry@CentOS src]$ git format-patch -1
0001-Added-my_strcat-function.patch

上述命令在当前工作目录中创建.patch 文件。 Tom 可以使用这个补丁来修改他的文件。 Git 提供了两个命令来分别应用补丁 git amgit applyGit apply 修改本地文件而不创建提交,而 git am 修改文件并创建提交。

要应用补丁并创建提交,请使用以下命令 −

[tom@CentOS src]$ pwd
/home/tom/top_repo/project/src

[tom@CentOS src]$ git diff

[tom@CentOS src]$ git status –s

[tom@CentOS src]$ git apply 0001-Added-my_strcat-function.patch

[tom@CentOS src]$ git status -s
M string_operations.c
?? 0001-Added-my_strcat-function.patch

补丁成功应用,现在我们可以使用git diff命令查看修改。

[tom@CentOS src]$ git diff

上面的命令会产生下面的结果 −

diff --git a/src/string_operations.c b/src/string_operations.c
index 8ab7f42..f282fcf 100644
--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,5 +1,16 @@
#include <stdio.h>
+char *my_strcat(char *t, char *s)
diff --git a/src/string_operations.c b/src/string_operations.c
index 8ab7f42..f282fcf 100644
--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,5 +1,16 @@
#include <stdio.h>
+char *my_strcat(char *t, char *s)
+
{
   +
   char *p = t;
   +
   +
   +
   while (*p)
   ++p;
   +
   while (*p++ = *s++)
   + ;
   + return t;
   +
}
+
size_t my_strlen(const char *s)
{
   const char *p = s;
   @@ -23,6 +34,7 @@ int main(void)
   {

相关视频

更多

免费

phpStudy极速入门视频教程
初级phpStudy极速入门视频教程

535875次学习

收藏

免费

Midjourney基础课程
初级Midjourney基础课程

13367次学习

收藏

免费

极客学院Git使用视频教程
初级极客学院Git使用视频教程

48351次学习

收藏

免费

尚观shell视频教程
高级尚观shell视频教程

16864次学习

收藏

免费

尚观Linux入门视频教程
初级尚观Linux入门视频教程

46713次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.6万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.8万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号