刚开始以为git就是简单提个代码,会git add ,git commit,git push就够了,那有这想法你可就太年轻了。git的命令功能非常的强大,涉及的功能也非常多。接下来我们就一起来看看。
git涉及到相关的区域。
工作区:本地目录,正常写代码的地方
暂存区:add之后的内容放到暂存区
本地仓库:commit之后内容放到本地仓库
远程仓库:push之后内容放到远程仓库
1.相关命令的操作(自认为用的比较多的命令)
在本地目录,更改的文件如何查看其变化。git diff
git add上之后,本地的工作目录,与暂存区以无任何差异。
git add添加到暂存区的内容如何查看其变化呢?
此时就会用到git diff操作,git diff --staged()
提交完成之后,暂存区文件和上次提交时以无任何差异。
查看本地工作目录和本地仓库的差异
git diff HEAD
此时内容已经放到本地仓库。
如何把git commit的内容还原回去呢?(比如我提交错了)
此时内容已经提交到本地仓库了
git reset --soft HEAD^还原到上次提交的状态
将暂存区的内容更改到了上次的状态
将暂存区内容撤回到还没add的状态。(git reset HEAD )
再用git checkout将工作区文件覆盖生成上一次还未修改的状态。
git reset -- hard HEAD^ (本地仓库,工作区,暂存区恢复到上一次提交)
要再查看变化就要用到git show了 (展示最近一次提交修改,前面是修改的信息,最后是修改的详细内容)
git show [commit_id]
git show -1 也可加次数,展示最近几次修改
git show --stat 显示提交内容的变化信息但不详细(不显示具体变化内容)
而且无法看出新增和删除的文件
git whatchanged -1 展示文件增删的修改权限