GIT的使用
GIT简介
- 什么是GIT
git是一个开源的分布式版本控制系统,用于高效的管理各种大小项目和文件 - 代码管理工具的用途
- 防止代码丢失,做备份
- 项目的版本管理和控制,可以通过设置进行跳转
- 建立各自的开发环境分支,互不影响,方便合并
- 在多终端开发时,方便代码的相互传输
- git的特点
- git是开源的,多在*nix下使用,可以管理各种文件
- git是分布式项目管理工具(svn是集中式的)
- git数据管理更多样化,分享速度快,数据安全
- git用于更好的分支支持,方便多人协调
svn集中式:有中央服务器,由中央服务器管理
git分布式:没有中央服务器,每个节点都是服务器
GIT的安装
- linux上:
执行命令:sudo apt-get install git
- windows上:
直接安装,Git-2.21.0-64-bit.exe
下载地址:
链接:https://pan.baidu.com/s/1bDSLjG7jsnhnWK2IdeW70Q
提取码:hwog
基本概念
- 工作区:项目所在的操作目录,实际操作项目的区域
- 暂存区:用于记录工作区的工作(修改)内容
- 仓库区:用于备份工作区的内容
- 远程仓库:远程主机上的GIT仓库
GIT配置
1. linux中
配置命令:git config
- 配置所有用户:
git config --system [选项]
- 配置文件位置:/etc/gitconfig
- 配置当前用户:
git config --global [选项]
- 配置文件位置:~/.gitconfig
- 配置当前项目:
git config [选项]
- 配置文件位置:project/.git/config
- 配置用户名
将用户名设置为zdwen
sudo git config --system user.name zdwen
- 配置用户邮箱
将邮箱设置为98@qq.com
git config --global user.email 98@qq.com
- 初始化仓库
git init
2.windows中
安装git之后,右击选择Git Bash Here打开如下窗口
- 注册本机身份
- 用户名:
git config --global user.name zdwen
- 邮箱:
git config --global user.email 2452238083@qq.com
- 用户名:
GIT的使用
1.windows中
1.1 githup网站上新建一个远程仓库
1.2 克隆仓库
找到一个存放项目的文件夹,在文件夹中鼠标右击,选择Git Bash Here
打开黑窗口,窗口路径会在所在文件夹中。git clone
进行克隆
进入到克隆的项目中,会有main分支显示,为主分支
VsCode中打开克隆的项目
1.3 常用指令
git的三个分区:
- 查看当前git项目的状态
git status
项目中新建一个index.html文件
会提示有一个文件未提交
- 将工作区的内容添加到缓冲区
git add
- 提交到版本区
git commit -m "msg"
- 查看git提交日志
git log
- 查看工作区和缓存区之间的差异
git diff
- 查看缓存区和版本区的差异
git diff --cached
- 查看三个分区的差异
git diff master
- 从缓存区撤销回工作区
git reset head <file name>
- 将工作区还原成版本区(相当于从版本区重新下载一次)
git checkout <file name>
- 修改提交的解释
git commit -m "msg" --amend
- 删除缓存区的文件
git rm <file name>
如果工作区的文件还在,则不能使用此命令删除,需使用下面命令删除。 - 删除缓存区和工作区的文件
git rm -f <file name>
- 删除缓存区的文件
git rm --cached <file name>
- 恢复工作区的文件:
git checkout commit id <file name>
- 恢复工作区的前文件/项目回滚(还原版本)
git reset --hard commit id
- 查看分支git branch -v`
- 创建分支
git branch [分支名]
- 切换分支
git checkout [分支名]
- 合并分支:
- 切换到要合并的分支(一般是主分支master/main)
git merge【(副分支)分支名】
- 如果出现了 Alreay up to data则需要一笑操作
git checkout master
git reset --hard dev
git push --force origin master
- 同步远程仓库
git push origin master