通过history 可以查看打命令记录
比如我要再3f3f5a2721301c47099b21691ae865b6cacbea97 这个提交+之前7次提交=8次提交,那就生成8个patch
git format-patch 3f3f5a2721301c47099b21691ae865b6cacbea97 -8
-8表示几次提交记录
分别是1.patch 2.patch.......一直到8.patch 这个文件名字根据自动生成名字定 我只是举个例子
然后到当前项目目录下 输入
git am 目录/8.patch
还有一种安装patch的方式:
patch <xxxx.path -p1
patch <xxxx.path -p1 --dry-run
--dry-run代表尝试patch软件,并不真正修改软件。 可加可不加
此时只是patch 的文件修改生效,还缺少commit 信息和change id
所以无法push到服务器
然后git log
git commit --amend
此时打开一个文件,自动把cmmit信息和change id 添加到文件中.
ctrl+X退出编辑文件
在看log就能看到change id
然后就可以push到服务器了
git 其他命令整理
git pull 从服务器拉取代码
前提是要先git status 看文件是不是都是提交状态
如果没提交 先 commit
看log日志 git log --pretty=oneline --graph --decorate --all
清空本地提交缓存,与远端同步
git reset --hard origin/master
解决打patch 失败的问题:
首先 git status看下状态
然后 把orig后缀的文件删了
rm $(find . -name "*.orig")
然后通过rej 手工合并代码
合完之后 rm $(find . -name "*.rej")
删掉rej文件
git add .
git status
git diff --cached > ../t.patch
比如有些文件不需要提交 则reset
git reset 文件名
然后 git commit -m "提交日志"
git push origin HEAD:xxx/xxx/xxx