git制作patch的步骤

一,修改已有文件的方法 ~/workproject

复制代码
cd ~/workproject
git init
git add *
git commit -a -m 'init'
/*
比如
vi test.c 修改test.c文件 完成后进入下一步
*/ git diff > test.patch
复制代码

这样就可以得到一个a文件的patch了,关于打patch的方法:
  如果有补丁,并且在相同的文件夹下,比如同事A,拿了我的补丁,同样在他机子里面的~/workproject  

  就可以使用:git apply test.patch  或  patch -p1 < test.patch

   p1、p0或pn是由所在目录决定的,打开patch会发现有git --diff /a/test.c  /b/test.c ;p1就是去掉/a和/b,更新test.c

  如果在workproject里面还有目录,就根据目录的深度,进行pn的选择。

 

二,添加文件或者文件夹后,打patch

  1,前面步骤除了最后一步,照做!

  2,mkdir 或 vi new.c 添加文件或文件夹。

  3,git add .把所有文件都进行添加。

  4,git commit把修改提交。

  5,git log查看最近两次修改的commit id. commit 后面一长串的id号,比如8817e150d4d0ad2bdda59235d43a6caa0ec5060c

  6. git diff commitid_orginal commitid_new > test.patch  new和org是一前一后的两次不同时间提交的id号。这样就能把新增的文件和文件夹打进patch了。

 

最好的方法是自己尝试,简单的建立几个字符的文件,修改,然后试验打patch。git还有很多使用,没有掌握,且学且珍惜。

参考:

http://blog.csdn.net/lizzywu/article/details/18666611

http://www.360doc.com/content/13/0722/16/12928831_301750153.shtml

谢谢!

posted on   tiger_chen  阅读(7065)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示