一、Git 基础
什么是 Git ?
Git 是目前世界上最先进的分布式版本控制系统
二、Git 与 GitHub 的区别
两者的区别
Git >>> 是一个分布式版本控制系统,简单地说其实就是一个软件,用于记录一个或若干个文件的变化,以便将来查阅特定版本修改情况的软件
GitHub >>> (https://www.github.com) 是一个为用户提供Git 服务的网站,简单来说就是一个可以放代码的地方(不只是代码), GitHub 除了提供管理Git 的 web 界面为,害提供了订阅、关注、讨论组、在线编辑器等丰富的功能,Github 被称为全世界最大的基友网站。
三、Git 的使用
1、本地仓库
1.1、工作流程
Git 本地操作的三个区域,由上到下
工作区 >>> 添加、编辑、修改文件等动作
暂存区 >>> 暂存已经修改的文件最后统一提交到 Git 仓库中
Git 仓库 >>> 最终确定文件薄脆到仓库,成为一个新的版本,并且对他人可见。
1.2、本地仓库操作
仓库又叫版本库,我们可以理解为是一个目录,用于存放代码的,这个目录里面的所有文件都可以被Git管理起来,每件文件的修改,删除等操作Git 都能跟踪到
1、安装好后首次使用需要先进行全局配置。
查看 Git 配置列表
git config --list
桌面空白处右键,点击“Git Bash Here” 以打开 Git 命令行窗口
修改/设置全局用户名和邮箱
$git config --global user.name"用户名"
$git config --global user.email"邮箱地址"
查看用户名邮箱
git config user.name
git config user.email
实例操作
设置用户名
$ git config --global user.name "LoveBackatball"
打印用户名
$ git config --global user.name
LoveBackatball
设置邮箱
$ git config --global user.emall "[email protected]"
打印邮箱
$ git config --global user.emall
[email protected]=
2、创建仓库
当我们需要让Git 区管理某一个新项目 / 已经存在项目的时候,就需要创建仓库了。
注意:创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也是可以的,但是不建议。不要使用包含中文的目录名,包括父目录
第一步:创建一个空的项目文件夹
$mkdir exerciseGit
第二步:进入exerciseGit 目录
$ cd exerciseGit
第三步:Git 仓库的初始化 >>> 让Git知道,他需要来管理这个目录
$ git init
git init >>> 仓库初始化指令,初始化项目后会出现 .git 隐藏文件夹,这个目录是Git 创建的不能删除,也不能随意更改其中的内容。
Git 常见指令操作
查看当前状态 >>> git status
添加到缓存区 >>> git add 文件名
git add 指令,可以添加一个文件,也可以同时添加多个文件
语法1:git add 文件名
语法2:git add 文件名1 文件名2 文件名3。。。
语法3:git add 【添加当前目录到缓存区】
提交至版本库 >>> git commit -m"注释内容"
在后续对于文件(可以操作一个或多个)操作后,重复使用git add 与 git commit 指令即可
1.3、时光穿梭机–版本回退
版本回退根问两个步骤,进行操作
步骤:
第一步:查看版本,确定需要回到的时候
指令:
git log >>> 显示日志
git log --pretty=onelice
第二步:回退操作
指令:
git reset --hard 提交编号
回到过去之后,要想再回到之前最新的版本的时候,则需要使用指令去查看历史操作,已得到最新的commitid
指令:git reflog
总结:
1、要想回到过去,必须先得到 commit.id,然后通过 git reset --hard 进行回退
2、要想回到未来,需要使用 git reflog 进行历史操作查看,得到最新的commit id
3、在写回退指令的时候 commit id 可以不用写全,git 自动识别,但是也不能写太少,至少需要写前四位字符。
2、远程操作
以github 为主
2.1、两种常规使用方式
1、基于http 协议
1、创建空目录,名称任意,并通过git命令框进入
2、使用clone 指令克隆线上仓库到本地
语法:git clone 线上仓库地址
3、在仓库上做相对应的操作,(提交赞萃取、提交本地仓库、提交线上仓库、拉取线上仓库)
提交到线上仓库的指令:git push
在首次往线上仓库提交的时候出现了403 的错误,原因是不是任何人都可以往线上仓库仓库提交内容,必须进行鉴权
需要修改“.git/config”文件内容
4、拉取线上的最新版本
git pull
注意,在每天工作的第一件事就是先 git pull 拉取线上最新版本,每天下班前要做的就是git push,将本地代码提交到线上仓库
2.2、基于ssh 协议
该方式与前面的https 方式相比,只是影响 github 对于用户的身份授权的方式,对于 Git 的具体操作(如提交本地、添加注释、提交远程操作)没有任何影响
生成公私钥对指令(需要先自行安装 OpenSSH),ssh-keygen -t rsa -C “注册邮箱”
步骤:
1、生成客户端公私钥文件
2、将公私钥上传到github
实际操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IvtSSfTR-1657609316653)(…/…/AppData/Roaming/Typora/typora-user-images/image-20220710175746349.png)]
2.3、分支管理
什么是分支
开发一个项目,分为不同的模块分支,后整合一个完整的项目
再版本中,每次提交后都有记录,git 把他们传成事件线,形成类似时间轴的东西,这个时候时间轴就是一个分支,我们称为master 分支。
在开发是往往是团队协作,多人开发,因此一个分支是无法满足多人开发的需求,并且在分支上工作是不会影响其他分支的正常使用的,会更加安全,在做项目中多使用分支管理
分支的相关指令
查看分支 >>> git branch
创建分支 >>> git branch 分支名
切换分支 >>> git checkout 分支名
删除分支 >>> git branch -d 分支名
合并分支 >>> git merge 被合并的分支名
四、Git 连接 Github远程仓库
连接远程仓库
git remote add origin [email protected]:yourName/repositoryname.git
git remote add origin https://github.com/yourName/repositoryname.git
yourName >>> 是用户的名
repositoryname >>> 是仓库名
从远程仓库拉取分支文件
git pull origin "分支名"
查看工作状态
git status
提交更改
git commit -m "备注信息"
将本地文件push到远程仓库
git push origin "分支名"
是用户的名
repositoryname >>> 是仓库名
从远程仓库拉取分支文件
git pull origin "分支名"
查看工作状态
git status
提交更改
git commit -m "备注信息"
将本地文件push到远程仓库
git push origin "分支名"