撤销未提交的更改
- 使得在工作空间 (此时 git status 文件为红色) 但是不在暂存区的文件撤销更改,内容恢复到没修改之前的状态;
git restore <file>
- 修改的内容不会被保留;
撤销已添加到暂存区的更改
restore 撤回
-
将暂存区的文件从暂存区 (此时 git status 文件为绿色) 撤回,但不会更改文件的内容;
git restore --staged <file>
-
修改的内容会被保留下来;
reset 撤回(不推荐)
如果希望以前的提交在历史中彻底消失,可以使用 git reset,丢弃掉某个提交之后的所有提交;
-
撤销提交但保留更改到工作区:
# 撤销最近的一个提交,保留更改在工作目录中 git reset --soft HEAD~1
-
撤销并丢弃更改,也就是让工作区恢复之前的状态:
# 撤销最近的一个提交,并丢弃更改 git reset --hard HEAD~1
revert 撤回(推荐)
-
如果已经推送了提交并希望保留历史记录,可以使用 git revert 创建一个新的反向提交;
# 撤销指定的提交 git revert <commit> # 撤销最近一次提交 git revert HEAD # 撤销多个提交,按顺序写 git revert [commit1] [commit2]
-
git revert 不会删除历史记录,而是在当前提交后面,创建一个新的提交,抵消掉上一次提交导致的所有变化;
替换上一次提交内容
-
如果提交以后,发现提交信息不对,可以使用 git commit 的 –amend 参数修改上一次的提交信息;
git commit --amend -m "重新提交信息内容"
-
这时如果暂存区有发生变化的文件,会一起提交到仓库,–amend 不仅可以修改提交信息,还可以整个把上一次提交替换掉;
浏览器🧑💻 同源策略、跨域
上一篇