GIT学习
git工作区、暂存区、本地库、远程库
工作区:实际上我们工作的地方,进行写代码或者文件的地方。
暂存区:我们执行了git add 操作之后,就会被提交到暂存区。
本地库:其实最后我们需要执行这一步操作,git commit 到本地库中,才表示完结了。
但是大家经常看到还有push操作,不是应该还有远程库吗?其实在git的理念中,分布式的git其实本来是不需要这个远程库的,git的协同只需要多个用户之间协同其实就是可以的,但是如果有一个稳定的远程库的话,会让我们的协同起来更快速,并且更方便,但是其实我们要明白,不要远程库其实也能使git工作的,远程库上只是一个备份而已!
常用操作
基础配置使用
初始化一个git仓库
git init 初始化
提交到git的暂存区
git add 增加
提交到本地版本库
git commit -m “注释” 提交并且注释
查看git库的状态:
红色:还在工作区没有提交;
绿色:已经提交到了暂存区,没有commit,没有提交到版本库
branch … clean …,当前分支很干净,已经提交到了本地版本库
git status git现在的状态,提交或者是未提交
配置全局的身份
git config –global user.name “名字” 例如:mzy
git config –global user.email “邮箱” 例如:1344874077@qq.com
配置局部当前仓库的身份
git config user.name “名字” 例如:mzy
git config user.email “邮箱” 例如:xxx@qq.com
git log
空格向下翻页,b向上翻页,q退出
git log 显示所有日志的所有信息,较多并且较为繁琐
git log –pretty=oneline 以较好的格式输出
git log –oneline 显示简略信息
推荐使用:git reflog 显示简略信息,但是相对于上面直接的 git log –oneline多了一个head移动步数,推荐使用这种:git reflog
git版本回退
git reset –hard c17e52f [c17e52f:是局部索引值]可以回退到特定的版本
git reset –hard HEAD^ 此方法只能回退一步
注:一个^表示后退一步,n个表示后退n步
例如:git reset –hard HEAD^^ 后退两步
git reset –hard HEAD~n n[1~n] 可以回退任意步数
注意windows下:使用HEAD^…,HEAD~n 可能会出现一下错误:
fatal: ambiguous argument ‘HEAD^’: unknown revision or path not in the working tree.
可能需要转义一下,或者使用”“包起来,但是建议还是直接使用:
git reset –hard [固定ID版本]
注意:每次修改文件都要先git add之后,再进行git commit -m “备注信息”,这样的操作哦!
git add 先加到暂存区中,再使用git commit 提交到本地库中!