1 本地库初始化
1.1命令:
git init
1.2效果:
1.3注意事项:
.git目录中存放的是本地库相关的子目录的文件,不需要对其做操作
2 设置签名
2.1形式
用户名:Tom
Email地址:goodMorning@atguigu.com
2.2作用
区分不同开发人员的身份
2.3辨析
这里设置的签名和登陆的远程库(代码托管中心)的账号,密码没有关联
2.4命令
2.4.1项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name Tom_pro
git cnnfig user.email goodMorning_pro@atguigu.com
2.4.2系统用户级别:登录当前操作系统的用户范围
git config --global user.name Tom_glb
git config --global user.email goodMorning_glb@atguigu.com
2.4.3级别优先级
就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
如果只有系统用户级别的签名,就以系统用户级别的签名为准
不允许二者都没有
2.5选择
通常就设置一套系统用户级别的签名,所有项目都可以用这一套签名,若有个别项目有特殊需求,也可以再单独设置一个项目级别的签名
3 基础操作
3.1状态查看
查看工作区、暂存区的状态
git status
运行以后出来3句话
第一句代表我们现在所处的位置是在master这个分支上(也可以叫主干)
第二句的意思是没有已经提交的文件,其实是指本地库里面还没有任何内容
第三句话的意思是没有什么可提交的,是指暂存区里也还没有任何内容
可用vim编辑器编辑一个文本
vim demo.txt
3.2添加操作
将工作区的新建/修改添加到暂存区
git add [file name]
git add demo.txt
如果想撤回已经上传到暂存区的文件到工作区,可使用以下命令
git rm --cached [file name]
git rm --cached demo.txt
3.3提交操作
将暂存区的内容提交到本地库
git commit -m "commit message" [file name]
git commit -m "My first commit.new file demo.txt" demo.txt
其中,commit message就相当于注释,便于以后查看时明白此次提交的相关信息
这里的文件又分新建和修改,若是新建,必须先git add,再git commit;但若是之前已经追踪过的文件即是修改文件,可以直接git commit,但是这样就直接提交到本地库了,不能再撤回进行修改。
3.4查看历史记录
3.4.1
git log
是最完整的形式
其多屏显示控制方式为:空格向下翻页,b向上翻页,q退出
3.4.2
git log --pretty=oneline
3.4.3
git log --oneline
只能显示当前版本及以前的历史版本
3.4.4
git reflog
当前版本之前和之后的历史版本都可以显示
其中,HEAD@{num},num代表移动到当前版本需要的步数
3.5历史版本的前进后退
3.5.1本质
有一个叫做HEAD的指针,会指向当前的版本,移动这个指针就可以实现版本的前进后退
3.5.2基于索引值操作【推荐】
git reset --hard [局部索引值]
3.5.3使用^符号:只能后退
git reset --hard HEAD^
注:一个^表示后退一步,n个^表示后退n步
3.5.4使用~符号:只能后退
git reset --hard HEAD~n
注:表示后退n步
3.6reset命令的三个参数对比
--soft参数
仅仅在本地库移动HEAD指针
--mixed参数
在本地库移动HEAD指针;重置暂存区
--hard参数
在本地库移动HEAD指针;重置暂存区;重置工作区
3.7删除文件并找回
前提:删除前,文件存在时的状态提交到了本地库
git reset --hard[指针位置]
若删除操作已经提交到本地库:指针位置指向历史记录(有要找回的文件的历史记录)
若删除操作尚未提交到本地库:指针位置使用HEAD
3.8比较文件差异
git diff [file name]
是将工作区中的文件和暂存区进行比较
git diff [本地库中的历史版本] [file name]
是将工作区中的文件和本地库历史记录进行比较
如果不带文件名,可以比较多个文件
4 分支管理
(下篇文章再补上,今天先写到这里吧)