git常用命令介绍——回退相关
git常用的命令
-
git log: 查看所有的提交记录
git log --graph:以图的形式展示提交的节点记录(即历史记录)
-
git reflog: 展示自己最近所做出的操作。
-
git reset HEAD:等同于git reset --mixed HEAD,将暂存区的指针移动到分支顶端指针的位置,暂存区提交的内容将被覆盖,但工作区的内容不受影响(变成modified)。
通用命令: git reset <历史节点> , 该命令可将分支(branch)和暂存区的指针均移动到给定的历史节点,工作区的内容不受影响(变成modified)。
其中<历史节点>可以为HEAD(表示本地当前commit的最新历史节点),HEAD(本地当前最新分支的**前一个**历史节点),HEAD^(本地当前最新分支的前第二个历史节点),HEAD~n(本地最新分支的前第n个历史节点);另外,每个历史节点都有一个SHA值的唯一编号(在git log, git reflog中可以查到),可以输入该编号或该编号的前面一段来回退。
回退之后,若要回到来时的节点,可以在git reflog中查询该节点的编号,使用git reset <节点编号>来返回原处,这样,暂存区和分支将会恢复到之前的位置。
-
git checkout -- <文件/文件夹>:丢弃工作区的更改,用stage(暂存区)里的内容替换工作区的内容。(stage里的记录仍然保留)若stage里没有东西,则会用branch顶部的内容替换工作区的内容。
可以用git checkout -- . 来丢弃所有文件的更改。
-
git rm --cached <file/folder>:在暂存区里删除某个文件,不影响工作区的该文件。通常可用于撤销.gitignore中不小心被git track的文件。
-
git commit: 将暂存区的内容提交到分支,同时新建一个历史节点(建议提供必要的commit分支,以区分历史版本)