接着上一篇博客。
这里先讲一下使用git进行版本管理时的三个状态。
版本库 暂存区 工作区
版本库:最简单的理解就是使用从远程的版本库中拉到本地,或本地库中没有任何修改的状态
暂存区:当对任何文件进行修改后使用git add . 命令,那么之前的修改便会加到暂存区中
工作区:即任何的修改,但没有git add . 的全部内容
1、通常在命令中使用的head可以看作游标,代表当前的分支。
在使用git branch name 创建一个分支时,通过git branch查看分支:
其中*的位置便是游标对应的分支的位置,则head表示的便是该分支
2、git diff 和git diff head 的区别
1)git diff 比较的是工作区和暂存区
2)git diff head 比较的是工作区和版本库
3、git status -s 查看修改
假设修改两次,第一次修改完后使用git add .然后使用git status -s查看, 第二次修改完后直接使用git status -s查看
其显示如下:
使用该命令后,出现的信息很有意思,红色绿色的M和修改的文件名称
由上述的修改可知,第一个M的原因是:暂存区和版本库(Head)不同
第二个M的原因是:工作区和版本库(Head)不同
4、在工作中用到的4种撤销
1)git checkout . | git checkout file
最为常见的撤销,该命令的作用是消除工作区的修改
2)git reset . | git reset file
如果修改后的文件已经使用add 了,那么使用该命令可以将暂存区中的修改撤退到工作区中
3)git reset --soft commitID
退回到某个节点,将节点后加的内容添加到暂存区中,该命令中的commitID可使用git reflog查看
4)git reset --hard commitID
退回到某个节点,并且三个状态保持一致
git reset --hard master@{num}可回复到某个点 使用git reflog show master
5、代码的clone、推送
将git@osc中的代码下载到本地
git clone 网站中提供的关联地址
远程关联git@osc中的远程库的地址,并将其命名为origin
git remote add origin 网站中提供的关联地址
将本地库中的代码推送到上述地址的master分支上
git push origin master