git的最基础使用
1. 版本控制
1.1 介绍
- 版本控制:一种在开发骨偶成中用于管理我们对文件、目录或工程的等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术
1.2 版本控制工具
- (1)Git
- (2)SVN(Subversion)
- (3)CVS(Concurrent Version System)
- (4)VSS(Micorosoft Visual SourceSafe)
- (5)TFS(Team Foundation Server)
- (6)Visual Studio Online
1.2 分类
- (1)集中版本控制
- 所有版本的数据都存在服务器上,用户的本地只有自己以前所同步的版本。而且所有数据都保存在一个服务器上,一旦服务器挂了,影响非常大【代表:SVN】
- (2)分布式版本控制
- 所有版本信息仓库全部同步到本地的每一个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交。【代表:Git】
2.Git环境配置
2.1 下载
2.2 安装
- 除了安装路径以外,全部默认安装即可
- 安装后鼠标右键出现”Git Bash””Git GUI”即安装成功
- Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
- Git CMD:Windows风格的命令行
- Git GUI:图形界面的Git,不建议初学者使用,经理先熟悉常用命令
2.3 linux常用命令
1 | cd: 改变目录 |
2.4 Git配置
- (1)系统配置
git config --system --list
:查看系统配置- 文件路径:安装目录/etc/gitconfig
- (2)用户配置(必须配置)
git config --global user.name "用户名"
:配置用户名git config --global user.email "邮箱"
:配置邮箱git config --global --list
:查看用户配置- 文件路径:C:\Users\计算机用户名.gitconfig
3. Git基本理论
- Git本地有三个工作区域:
- 工作目录(working Directory):平时存放代码的地方
- 暂存区(Stage / Index):用于临时存放你的改动,事实上只是一个文件,保存将要提交到文件列表信息
- 本地仓库(Repository / Git Drectory):安全存放数据库的位置。其中
HEAD
文件指向最新放入仓库的版本
- Git远程工作区域
- git仓库(Remote Directory):托管代码的服务器
- 工作区之间的关系
4. Git项目搭建
4.1 创建仓库
- (1)创建全新本地仓库
git init
:会自动生成.git的隐藏文件
- (2)克隆远程仓库
git clone 仓库地址
- 仓库地址可以用github / gitee 寻找
5. Git文件操作
5.1 文件的4种状态
- (1)Untracked:未追踪;此文件在文件夹中,但并没有加入的git库,不参与版本控制,通过
git add
将状态转变为Staged - (2)Unmodify:未修改;即版本库中的文件快照内容与文件夹完全一致
- (3)Modified:文件已修改;仅仅是修改,没有进行其他操作。可通过
git add
暂存为staged
状态,使用git checkout
丢弃修改,返回未修改的状态 - (4)Staged:暂存状态;执行
git commit
则将修改同步到库中,此时库中的文件和本地文件一致。
5.2 查看文件的状态
- (1)
git status [filename]
:查看指定文件状态 - (2)
git status
:查看所有文件状态
5.3 Git常见提交指令
- (1)
git add .
:添加所有文件到暂存区 - (2)
git commit -m "提交信息"
:将暂存区的文件提交到本地仓库
5.4 忽略提交文件
- 创建
.gitignore
,里面配置要忽略的文件
1 | #为注释 |
6. Gitee使用
6.1 生成免密公钥
公钥可以在本地仓库提交到远程仓库是免密提交
- (1)执行命令
ssh-keygen
:生成公钥,生成时可以填写一些基本信息 - (2)打开本地文件:
C:/Users/计算机用户名/.ssh
,将生成的id_rsa里面的内容复制到gitee上
6.2 使用远程仓库
- 方式一:新建仓库,然后克隆到本地即可
- 方式二:通过仓库地址,用git指令关联
1 | //关联仓库地址(xxxx.git) |
7 分支Branch
7.1 介绍
7.2 常用命令
1 | # 查看分支 |
8 缓存Stash
8.1 介绍
git stash
是git一个很有用的命令,它的作用是把当前未提交的修改暂存起来,让仓库还原到最后一次提交的状态- 一般用户代码拉取(pull)时,为了防止自己修改的设置被覆盖,一般将修改内容放入缓存,再拉取代码,代码拉取成功之后,将缓存中的数据进行覆盖
8.2 常用指令
1 | # 放入缓存 |
9 工作常见情况
9.1 提交特定的代码
- 遇到这种需求,使用IDEA来进行代码的提交会比较稳妥
9.2 commit取消
- 工作中出现commit错的代码,如何将此commit取消
9.3 仓库代码回退
- 当将错误的commit提交到远程仓库后,需要对仓库代码进行回退
- 此时本地的代码已经回退了,接下来就是将本地的代码提交到远程仓库中