最近开始学习使用一下git
Git和SVN的区别:SVN是集中式版本控制的代表 Git是分布式版本控制中心的代表
Git简易图
Git和GitHub的区别:
GitHub是Git的一个代码托管中心
在局域网下:GitLab服务器
外网环境下:GitHub、码云
在将要存储git的目录下右键进入Git Bash Here.在操作窗口输入 git init命令
在目录下有一个.git文件 里面内容如下
然后设置git的签名,用户名和邮箱。用于区分不同开发人员的身份。
签名分为
项目级别(仓库级别) :仅在本地库范围有效 git config user.name jiy_pro git config user.email [email protected]
系统用户级别 :登陆当前操作系统的用户范围 git config --global user.name jiy git config--global user.email [email protected]
在.cat里面的config文件中查看设置的项目级别的签名 就可以看到设置的签名
下面设置系统用户级别的签名
去哪里查看系统用户级别的签名呢 先来到家目录 cd ~
然后进入 .gitconfig文件 查看设置的系统用户级别签名
git status 来查看当前git状态 没有什么已经提交的文件 也没有任何可提交的文件
vim 创建一个文件然后查看状态
使用 git add命令 将文件添加到暂存区
添加完之后 再来看 git status 文件被添加到暂存区等待提交
使用 git rm --cached hello.txt 将文件从暂存区移除
重新添加到暂存区 然后 git commit进行提交 进入到添加提交消息页面(git commit -m "my first commit" hello.txt 命令可直接修改不用进入下页面)
用 :set nu显示行号 证明在vim编辑器里面 然后添加注释信息 保存退出
再来查看 git status
git log
git log --pretty=oneline
git log --oneline【只显示当前版本之前的历史记录】
git reflog【显示所有的历史记录】
1 基于索引值操作【推荐】
再次查看历史信息 已经成功切换
2 使用 ^ 符号【只能后退】 ^符号的个数代表后退的次数
3 使用 ~ 符号【~后面带的数字代表要回退的次数】
git help [file] 查看帮助文档 在本地有一个帮助文档
通过文档可以看出reset三个参数
--soft
仅仅在本地库移动HEAD指针
--mixed
在本地库移动HEAD指针
重置缓存区
--hard
在本地库移动HEAD指针
重置缓存区
重置工作区
前提:在删除文件前把文件提交到本地库。
通过切换本地库的历史版本恢复文件(git reset --hard [版本号])
当删除操作提交到本地库 本地库指针位置切换到删除之前的版本
当前删除操作未提交到本地库则本地库指针位置切换到当前位置【git reset --hard HEAD】
一般情况下 git diff命令是将工作区和暂存区的文件进行比较
git diff HEAD 【文件名】是对工作区和本地库的文件进行比较。
也可以直接使用git diff对比修改过的所有文件