工作区(本地目录)->暂存区(git add)->本地仓库(commit)->远程仓库(push)->审核后入库(merge)
-
git log # 查看所有提交过的版本的详细信息(看代码版本)
-
git reflog# 可以查看所有分支的所有操作记录(包括已经被删除的commit记录和reset的操作)
-
git status 是一个用于查看 Git 仓库当前状态的命令。
git status 命令可以查看在你上次提交之后是否有对文件进行再次修改。(看改动代码在哪个地方)
$ git status On branch master Initial commit Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: README new file: hello.php
git status 命令会显示以下信息:
- 当前分支的名称。
- 当前分支与远程分支的关系(例如,是否是最新的)。
- 未暂存的修改:显示已修改但尚未使用
git add
添加到暂存区的文件列表。 - 未跟踪的文件:显示尚未纳入版本控制的新文件列表。
-
学习链接:
-
Git命令详解(git status、git log、git commit、git stash)_git log commit-CSDN博客
add后使用git status查看
commit后使用git log查看
只要是被git管理过的文件 你的改动或者删除都会被记录下来 每一个操作都需要执行对应的 git操作 以及commit说明情况后 才真正实现
回滚的三种情况
第一种:修改了代码,但是代码还在工作区(编译器上),现在需要回滚,不要这些改动的代码了,使用git status可以看到改动的代码文件,然后使用gity checkout -- 文件名路径回滚 ,用status查看状态发现已经回滚了
第二种情况:
在暂存区了(add了) 先git reset head 文件路径(变回工作区那个状态了) 再git checkout 文件名(同上面一样了)
第三种情况:
在本地仓库(commit了),git reset hard/mixed/soft 版本号(回退到该版本)(每次commit都会有一个很长的奇怪的版本号,需要用git log命令查看)
hard:工作区暂存区本地仓库一致的,一旦回退到上一个版本了,那么这两个版本之间的代码改动全部没有了,相当于直接变成上一个版本了
mixed:改动代码只在工作区了,但不在暂存区和本地仓库,所以如下图git satus后看到含有改动的代码的文件都是红色的(工作区)
soft:改动代码回滚到暂存区,所以使用status查看,改动过的代码文件都是绿色的