https://github.com/201303014069/Test
打补丁
一.方法一比较通用
Git commit 比如在PATH分支提交后
Git diff master>patch 创建补丁文件
Git checkout master 回到主分支
Git apply patch 通过patch打补丁
二.
Git conmmit 先在一个分支提交
Git format_patch –M master 生成.patch补丁文件
Git checkoutmaster 回到需要打补丁的分支
Git am ***.patch 打补丁 打完补丁相当于完成一次提交
遇到问题 错误提示信息
previous rebase directory /home/hailong/Workspace/zhl/.git/rebase-apply still exists but mbox given.
在用git am提交patch时,有时在提交失败后,继续提交时会出现/.git/rebase-apply still exists but mbox given错误,因为错误的提交导致git内部的数据出现了错误,因此继续提交patch就会报错,1.使用git am --abort命令将git的状态恢复到之前状态就可以继续提交patch了。2. 直接删除/home/hailong/Workspace/zhl/.git/rebase-apply这个目录的。
每次提交patch之前需要执行review-commits命令来检查patch的编程规范,有错误的地方,都会有warning或error的提示,修改之后执行1. git add xxx 2. git commit –amend 再push。
git可以学习的东西还有很多。git协议,分布式协作,git项目管理,git技 巧,github的使用和实践,git分支管理的深入理解和使用,这些估计要以后慢慢学习了。毕竟我们公司用svn,而且没有开发大型项目。学到这个程 度,基本达到我的目的:能应用git来管理自己的代码,能用git来连接svn进行部门补丁管理,扩展自己的知识面,了解开源项目的开发。以后有机会可以 通过开源项目进一步学习。