1、进度的恢复跟保存
1.1、进度存储
//命令
git stash save 'message'
//保存当前工作进度,会把暂存区和工作区的改动保存起来。
1.2、显示存储的列表
//命令
git stash list
//显示之前缓存的工作区
// 编号: On 分支名: '保存信息'
// 例如:stash@{0}: On master: message
1.3、回复指定的进度
git stash pop [–index] [stash_id]
// stash pop 会删除当前进度
git stash pop
//恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区
git stash pop --index
//恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)
git stash pop stash@{1}
//恢复指定的进度到工作区。stash_id是通过git stash list命令得到的
git stash apply [–index] [stash_id]
//除了不删除恢复的进度之外,其余和git stash pop 命令一样。
1.4、删除一个存储的进度
git stash drop [stash_id]
//删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。
1.5、删除所有进度
git stash clear
//删除所有存储的进度
2、提交内容修改
2.1、最后一次内容的修改
//保存当前文件修改、支队需要修改点部分做保留 或者修改
git stash save
//添加当前修改
git add .
//git commit --amend 可以对上一次的提交做修改
git commit --allow-empty --amend -m 'message内容'
//push -f 如果上一次的提交已经push了,那么需要加f参数覆盖服务端,不过不建议这么搞
git push -f
2.2、修改已经提交的指定位置
//获取commit 位置
git rebase -I HEAD~N (N为倒数,需大于要修改的位置)
//获取如下效果
pick 851f455 提交新分支
pick 4d49e00 修改位置,倒数第四个提交点
pick 61c459e 修改测试
pick 8946e2e 修改上次的msg
pick 02d681e 修改冲突
//修改指定位置的 pick 为 edit
//保存退出ESC
:wq
//如果有修改文件,告知已修改完毕
git add .
//提交修改信息 --allow-empty 允许空提交
git commit --allow-empty --amend -m '修改位置,倒数第三个提交点'
//回复分支状态
git rebase --continue
//刷新PUSH
git push -f
修改前
修改后