git stash
可以缓存一些修改,不用做提交。例如当前分支做了修改,不想提交,有需要切换分支时候。
常用命令:
- git stash list:查看缓存列表
git stash list
- git stash save “备注信息”: 缓存当前分支所有修改
git stash save "第一次缓存"
- git stash pop stash@{num} : 恢复第几次缓存
#恢复git stash list中的第几次缓存
git stash pop stash@{1}
- git stash clear: 删除所有缓存,谨慎操作
git stash clear
git rebase -i {commitid}
我一般用来操作修改commit信息和合并多次提交为同一个
修改commit信息
#例如我要修改b0f1ec6这个commitid的提交message
git log --oneline
7237e0a (HEAD -> main) 第四次提交
b0f1ec6 修改readme1
499a21f 新增readme文件
25cc64c 第一次提交
- 执行
git rebase -i 7237e0a
(会进去vim的编辑交互界面) - 按照提示将pick改成
r
,:wq保存文件。(r保留提交,但是修改commit信息)
- 进入下一个vim界面,输入你新的commit message就可以 ,然后保存提交。
- 确认是否修改成功 git log --oneline (注意,修改后commitid会变化)
合并多次commit
#例如需要合并下面的test2 test3合并到test1里,将三次提交变成一次提交
git log --oneline
1e12aa9 (HEAD -> main) test3
60c88d7 test2
db31d7e test1
3c83242 第四次提交,修改提交信息后
b0f1ec6 修改readme1
499a21f 新增readme文件
25cc64c 第一次提交
- 执行
git rebase -i 3c83242
,将需要合并到前一次提交
的commit的pick改为s,保存
(commitid是需要操作commit的父id,所以是3c83242)
- 保存后会进入下一个vim界面,可以修改合并后的commit message,修改后保存提交
- 检查合并情况 git log --oneline