Git详解、使用github托管项目

Git是目前世界上最先进的分布式版本控制系统

Git与Github

Git是一个分布式版本控制系统,简单的说其实就是一个软件,用于记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的软件
Github是一个为用户提供Git服务的网站,简单的说就是一个可以放代码的地方(不仅仅是代码)。提供了丰富的功能

下载Git

前往Git官网,选择相应配置下载
Git详解、使用github托管项目_第1张图片
默认即可,不需要更改
一路Next
安装完成之后,在文件夹,鼠标右键出现 Git GUI Here 和 Git Bash Here就算成功
Git详解、使用github托管项目_第2张图片

Git的使用

本地仓库

工作流程

Git详解、使用github托管项目_第3张图片
Git详解、使用github托管项目_第4张图片

本地仓库操作

仓库又名版本库,英文名repository,我们可以简单理解成是一个目录,用于存放代码的,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除等操作Git都能追踪到

①在安装好首次使用需要先进行全局配置
桌面空白处右键,点击“Git Bash Here”以打开Git命令行窗口

$ git config --global user.name "用户名"
$ git config --global user.email "邮箱地址"

②创建仓库
当我们需要让Git去管理某个新项目/已存在项目的时候,就需要创建仓库了。注意,创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也是可以的,但是不建议在现有项目上来学习Git
不要使用包含中文的目录名

创建目录

$ mkdir 目录名

在命令行进入项目目录

$ cd 目录

Git仓库初始化

$ git init

表现:执行之后会在项目目录下创建“.git”的隐藏目录,这个目录是Git创建的,不能删除也不能随意更改其内容
Git详解、使用github托管项目_第5张图片
Git常用指令操作
查看当前状态:git status 【非必要】
添加到缓存区:git add 文件名
说明:git add指令,可以添加一个文件,也可以同时添加多个文件
语法1:git add 文件名
语法2:git add 文件名1 文件名2 文件名3 …
语法3:git add . 【添加当前目录到缓存区】

提交至版本库:git commit -m “注释内容”
对于后续文件(可以操作1个或多个)操作之后,充分使用git add与git commit指令即可

Git的版本回退

版本回退分为两步骤进行操作
步骤:
①查看版本,确定需要回到的时刻点

指令:
git log
git log --pretty=online

②回退操作

指令:
git reset --hard 版本号

注意:回到过去之后,要想再回到之前最新的版本的时候,则需要使用指令去查看历史操作,以得到最新的commit id.
指令:git reflog
小结:
要想回到过去,必须先得到commit.id,然后通过git reset --hard进行回退
要想回到未来,需要使用git reflog进行历史操作查看,得到最新的commit.id
在写回退指令的时候commit id可以不用写全,git自动识别,但是也不能写太少,至少需要写前四位字符

创建Github远程仓库

Git详解、使用github托管项目_第6张图片
Repository name:设置仓库的名字
public/private:设置仓库私有还是共享

两种常规使用方式

基于http协议

a.创建空目录,名称为shop
b.进入shop目录
Git详解、使用github托管项目_第7张图片
使用clone指令克隆线上仓库
语法:git clone 线上仓库地址
Git详解、使用github托管项目_第8张图片
Git详解、使用github托管项目_第9张图片
在创建的目录里面又出现了一个shop文件夹 为仓库
c.在仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库
提交线上仓库的指令为 git push

在这里插入图片描述
在首次往线上仓库shop提交内容的时候出现了403的致命错误,原因是不是任何人都可以往线上仓库提交,必须需要鉴权
需要修改“.git/config”文件内容:
修改url为 :url=https://用户名:密码@后面不变
在这里插入图片描述
提交成功,线上同步更新
在这里插入图片描述

拉去线上最新版本:git pull
Git详解、使用github托管项目_第10张图片

基于ssh 协议

该方式与前面https方式相比,只是影响github对于用户的身份鉴权方式,对于git的具体操作(如提交本地、添加注释、提交远程等操作)没有任何影响
生成公私钥对环指令(需先安装OpenSSH):ssh-keygen -t rsa -C"注册邮箱"
步骤:
①生成客户端公私钥文件
②将公钥上传到Github

实际操作:
①打开提示Git详解、使用github托管项目_第11张图片
②创建公私钥对文件
执行指令后连续回车即可
Git详解、使用github托管项目_第12张图片
③:上传公钥文件内容(id_rsa.pub)
Git详解、使用github托管项目_第13张图片

分支管理

Git详解、使用github托管项目_第14张图片
在版本回退的章节里,每次提交后都会有记录,Git将它们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为master(main)分支

分支相关指令:
查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名
删除分支:git branch -d 分支名
合并分支:git merge 被合并的分支名

在这里插入图片描述
注意:当前分支前面有个标记“ * ”。
Git详解、使用github托管项目_第15张图片

分支合并:
现在先在dev分支下的readme文件中新增一行并提交本地
Git详解、使用github托管项目_第16张图片
切换到main分支下观察readme文件
在这里插入图片描述
将dev分支的内容与master分支合并:Git详解、使用github托管项目_第17张图片
删除分支
master分支拿到了dev分支的内容 删除dev分支
在这里插入图片描述

推荐的图形化工具

①Github for Desktop
② source tree
③TortoiseGit

忽略文件操作

Git详解、使用github托管项目_第18张图片
在写规则的时候以#开头默认为注释

你可能感兴趣的:(git,github)