转载自https://www.cnblogs.com/cyc2009/p/4023431.html
一,修改已有文件的方法 ~/workproject
cd ~/workproject git init git add * git commit -am 'init' /* 比如 vi test.c 修改test.c文件 完成后进入下一步 */ git diff > test.patch
这样就可以得到一个test.c文件的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的选择。
git commit -am 的意思是先git add 再 git commit
二,添加文件或者文件夹后,打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
谢谢!