关注微信公众号【行走在代码行的寻路人】获取Java相关资料,分享项目经验及知识干货。
1.什么是Git
是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
2.Git的优势
- 大部分操作在本地完成,不需要联网
- 完整性保证
- 尽可能添加数据而不是删除或修改数据
- 分支操作非常快捷流畅
- 与 Linux 命令全面兼容
3.Git的安装
- git官网:https://git-scm.com/
- git安装步骤
安装完成后鼠标右键可以看到git的两个操作
4.Git的结构
5.Git命令操作
在文件里面右键git bash here 在当前文件夹下打开类似Linux的命令窗口
新建一个文件夹
本地库初始化:进入新建的文件夹并初始化该文件夹,命令:
git init
初始化效果:
注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。
-
设置签名
签名形式:用户名:git_test Email地址:git_test@163.com
作用:区分不同开发人员的身份
辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。
命令:
项目级别
/
仓库级别:仅在当前本地库范围内有效
git config user.name git_test
git config user.email git_test@163.com
信息保存位置:./.git/config 文件
系统用户级别:登录当前操作系统的用户范围
git config --global user.name git_test
git config --global user.email git_test@163.com
信息保存位置:~/.gitconfig 文件
级别优先级
就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
如果只有系统用户级别的签名,就以系统用户级别的签名为准
二者都没有不允许
6.git基本命令操作
新建一个文件来操作基本的命令
-
状态查看
git status
-
添加
git add text.txt
-
提交
git commit -m "init commit test.text" test.txt
-
查看提交记录
git log
git log --pretty=oneline
git log --oneline
git reflog
-
前进后退
本质:相当于移动最前面的版本号
#回到初始化导入的版本
git reset --hard 1bb7317
#回到最新版本
git reset --hard b7f614a
- 基于索引值操作[推荐] :git reset --hard [局部索引值]
-
使用^符号:只能后退:git reset --hard HEAD^ 注:一个^表示后退一步,n 个表示后退 n 步
-
使用 ~ 符号:只能后退:git reset --hard HEAD~n 注:表示后退n步
-
前进后退reset三个参数对比
-
删除文件并找回
前提:删除前,文件存在时的状态提交到了本地库。
操作:
git reset --hard [
指针位置
]
- 删除操作已经提交到本地库:指针位置指向历史记录
- 删除操作尚未提交到本地库:指针位置使用 HEAD
-
比较文件差异
git diff [
文件名
]
- 将工作区中的文件和暂存区进行比较
git diff [本地库中历史版本] [文件名]
- 将工作区中的文件和本地库历史记录比较
不带文件名比较多个文件