存储当前的工作现场
git stash save “修 bug 之前的中断点”
这个命令会把你当前的改动保存起来,包括工作区和暂存区的内容。这样你就可以切换到其他分支去修 bug 了。
查看 stash 列表
git stash list
用这个命令可以看到所有 stash 的内容,方便你找到刚刚存储的那一个。
恢复之前存储的工作现场
git stash pop
恢复刚才的改动,pop 命令会把存储的改动应用到当前分支,并从 stash 列表中删除。要是你不想删,可以用 git stash apply。
只存储工作区的改动,不包含暂存区
git stash save --keep-index “仅存储工作区的改动”
这个命令就比较灵活了,适合一些特殊场景,比如你暂存了一部分改动,但还没提交。
存储未跟踪文件
git stash save -u “包含未跟踪文件的改动”
一般情况下,stash 不会存储未跟踪文件,用这个命令可以把这些文件也一并保存起来。
reset --soft:软回溯
提交后发现有些东西没写好,或者不该提交上去,怎么办?来个软回溯,把 commit 回滚,但保留修改。
基本用法
回到上一个 commit,但保留工作目录的改动
git reset --soft HEAD^
这个命令会让你的 HEAD 回到上一个 commit,但是工作区和暂存区的改动都会保留。这样你可以继续修改,再重新提交。
回到指定 commit
git reset --soft
这个命令更强大,可以回滚到任何一个 commit,同样保留改动。
撤销特定的 commit
git revert
这个命令会生成一个新的 commit,反向应用指定的 commit,从而撤销之前的改动。这样历史记录保持完整,非常优雅。
进阶玩法
撤销一系列的 commit
git revert …
这个命令可以撤销一系列的 commit,一次性搞定所有需要撤销的改动。
自动提交生成的 revert commit
git revert --no-commit
这个命令会生成一个反向 commit,但不会自动提交,让你有机会先检查一下,再手动提交。
查看所有的操作记录
git reflog
这个命令会列出所有的操作记录,包括那些你以为丢失的 commit。每个操作都有一个索引值,可以根据索引恢复到任意一个历史操作点。
恢复到某个历史节点
git reset --hard
使用这个命令,你可以轻松恢复到某个历史节点,把误操作的损失降到最低。
进阶玩法
查看某个分支的 reflog
git reflog show
这个命令可以查看某个分支的操作记录,方便你找到特定分支的历史操作。
清理 reflog 记录
git reflog expire --expire=now --all
这个命令会清理所有过期的 reflog 记录,保持仓库的整洁。
原文链接:https://blog.csdn.net/qq_25881443/article/details/143456863
标签:改动,git,--,stash,命令,常用命令,commit From: https://www.cnblogs.com/qkydq/p/18528945