ref: git 生成patch和使用patch - 博客 - 博客频道 - CSDN.NET
http://blog.csdn.net/wangjia55/article/details/8802490
1. git stash
调试完成代码之后,在当前仓库下执行如下语句:
git stash;
就能恢复到修改前的状态,得到修改文件之后
2. git stash pop
这又恢复了修改之后的状态了。如果你有多个仓库需要管理,可以使用repo forall命令帮助执行。
3. repo start name .
有时候修改完代码之后,不想马上就提交,可以另外其一个分支,在这个分支上提交,结束之后再切回原来的分支。一般常用命令如下,注意name之后有一个".",表示当前工程。或者使用git checkout -b name 远程分支名称)
4. patch的生成
git diff > patch
git diff --cached > patch
git diff branchname --cached > patch
这个时候当前目录下就会有一个patch文件,这是一个非git环境也可以使用的patch。对于这种patch,在git上使用要用git apply命令,如下:
### git apply patch
git apply 是一个事务性操作的命令,也就是说,要么所有补丁都打上去,要么全部放弃。ProGit上说明在实际打补丁之前,可以先用git apply --check 查看补丁是否能够干净顺利地应用到当前分支中:
git apply --check patch,如果执行完该命令之后没有任何输出,表示我们可以顺利采纳该补丁,接下来就是git上的提交了。
5. git format-patch生成的补丁
1)两个节点之间的提交: git format-patch 节点A 节点B
)单个节点: git format-patch -1 节点A (-n就表示要生成几个节点的提交)
3)最近一次提交节点的patch :git format-patch HEAD^ 依次类推……
6. git diff 和git format-patch生成的patch一个重要不同之处
实际使用中会发现git diff一次只会生成一个patch文件,不管差别了多少个提交,都是一个;而git format-patch是根据提交的节点来的,一个节点一个patch。
6. 连接远程仓库
git remote add origin git地址
git push -u origin master