Git入门与实战

第一章 Git简介

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

Git库结构

GTI库结构

  • Workspace:工作区
  • Index/Stage:暂存区
  • Repository:仓库区(本地仓库)
  • Remote:远程仓库

第二章 Git安装

Git 官网:https://git-scm.com/

1、相关工具

  • 命令行工具:Git for windows
    下载地址:https://git-for-windows.github.io/
  • GitHub 网站:http://www.github.com
    安装成功后:右键菜单,会多出以下选项卡:
    Windows安装成功

2、设置Git账户

git config --global user.name xxx :设置 git 全局用户名
git config --global user.email xxx :设置 git 全局邮箱
git init :初始化本地库
git config core.autocrlf false :取消换行符转换的 warning 提醒

上述配置可以在用户家目录/.gitconfig 文件中查看配置结果!
操作示例

3、初始化

①新建一个本地仓库,也就是一个文件夹。
②执行 git init 命令
在这里插入图片描述
之后,可以看到,本地仓库中,多了一个.git 的隐藏文件夹
只有在有.git 目录的工作空间中,才可以执行 git 命令!否则,会报错:
在这里插入图片描述

第三章 Git常用命令

1、新建文件并提交到本地仓库

1.1 常用命令

git status 查看本地库的状态
git add [file] 将文件添加到暂存区
git commit –m “xxx” [file] 将暂存区的文件提交到本地库,-m 后面为修改的说明

1.2 使用

查看本地库状态,空空如也

在这里插入图片描述

新建一个文件

vim test.log 或 touch test.log 并编辑
此时再次查看 git 本地库的状态:
在这里插入图片描述
说明检测到了 test.log 文件,但是还无法追踪,建议使用 add 命令添加!

将新建的文件,提交到暂存区:git add

在这里插入图片描述
此时再次查看,发现暂存区已经有了文件
在这里插入图片描述

将文件从暂存区提交到本地库

在这里插入图片描述
此时,会要求为刚刚的提交作一个说明!
也可以直接使用 git commit –m “xxxx” [file]提交!
再次查看状态,工作空间已清空。
在这里插入图片描述

2、将修改的文件提交到本地仓库

修改文件

在这里插入图片描述

此时查看本地库的状态

在这里插入图片描述
提交修改
先 add,再 commit!
在这里插入图片描述

此时再查看本地库的状态

在这里插入图片描述

3、版本切换

3.1 常用命令

git log 以完整格式查看本地库状态
git log --pretty=oneline 以单行模式查看本地库状态
git reset --hard HEAD^ 回退一个版本
git reset --hard HEAD~n 回退 N 个版本
git reflog 查看所有操作的历史记录
git reset --hard [具体版本号,例如:1f9a527 等] 回到(回退和前进都行)指定版本号的版本
git checkout -- [file] 从本地库检出文件
git reset [file] 从暂存区撤销文件
git rm --cache [file] 从暂存区撤销文件

3.2 回退命令使用

多次更新之后,希望回退到之前的修改版本

查看更新日志
git log

在这里插入图片描述
如果日志过于凌乱,可以使用一个简单格式查看

单行简单格式查看:
git log --pretty=oneline

在这里插入图片描述

回退到历史版本

第一种: git reset --hard HEAD^
回退到上一个版本,如果想回退多个版本,就多加几个^
在这里插入图片描述
第二种:git reset --hard HEAD~n
回退多个版本,n 是你要回退多少步
在这里插入图片描述

3.2 查看所有操作的历史记录

git reflog

在这里插入图片描述

回退到指定的操作
git reset --hard [具体版本号,例如:1f9a527 等]

在这里插入图片描述

3.4 文件恢复

从本地库检出恢复

git checkout -- [file]

在这里插入图片描述

从暂存区撤回

当 add 一个文件到暂存区后,可以执行 commit 操作,也可以执行 reset 撤回操作!

添加完成后,查看暂存区情况

在这里插入图片描述

git reset [file]

在这里插入图片描述

3.5 删除操作

如果删除一个已经在版本库中的文件!

删除文件

在这里插入图片描述
此时查看,发现虽然在 windows 的文件系统中已经没有了:
在这里插入图片描述
但是,使用 git status 查看版本库的情况,发现:
在这里插入图片描述
提示,使用 git add/rm 命令来更新此次操作!
之后,再次查看在这里插入图片描述
发现变成了绿色,提交已经成功!

提交更新

然后执行,提交操作:
在这里插入图片描述
再次查看 git status,发现完成了此次操作!

3.6 比较文件

减号代表删除的行,加号代表增加的行

将工作区中的文件和暂存区进行比较

$ git diff <file>

在这里插入图片描述

将工作区中的文件和本地库当前版本进行比较

$ git diff HEAD <file>

在这里插入图片描述

查看暂存区和本地库最新提交版本的差别

git diff --cached <file>

在这里插入图片描述

第四章 Git的工作机制

1、三区

工作区(Working Directory):就是你电脑本地硬盘目录
本地库(Repository):工作区有个隐藏目录.git,它就是 Git 的本地版本库
暂存区(stage):一般存放在"git 目录"下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
在这里插入图片描述
红色状态代表在工作区,尚未添加到暂存区!
绿色状态代表当前文件已经添加到了暂存区,但是尚未添加到本地库!
暂存区空了,代表在所有文件已经添加到本地库;

2、.git目录

在这里插入图片描述

第5章 分支操作

1.常用命令

git branch [分支名] 创建分支
git branch -v 查看分支,可以使用-v 参数查看详细信息
git checkout [分支名] 切换分支
git merge [分支名] 合并分支;
将 merge 命令中指定的分支合并到当前分支上
例如:如果想将 dev 分支合并到 master 分支,那么必须在master 分支上执行merge命令git branch –d[分支名] 删除分支
git checkout –b [分支名] 新建并切换到当前分支

2、分支的概念

不使用分支,就是人与人之间协作;
使用分支,就是小组与小组之间的协作;
从主干中拉取分支,开发完成,将工作,合并到主干。
在这里插入图片描述

3.分支常用操作

查看分支

git branch -v

在这里插入图片描述

新建分支

git branch [分支名]

在这里插入图片描述

切换分支

git checkout [分支名]

在这里插入图片描述

合并分支

git merge [分支名]

如果在 dev 分支上面,对一个文件做了修改,这个时候 master 分支上面对应的文件是没有修改信息的。因此需要将分支合并!
在这里插入图片描述
注意:必须切换到 master 分支!

删除分支

git branch –d [分支名]

注意:必须切换到 master,才能删除,不能自杀!
在这里插入图片描述

新建切换

git checkout –b [分支名]

在这里插入图片描述

第6章 GitHub

1、简介

GitHub 是一个 Git 项目托管网站,主要提供基于 Git 的版本托管服务。
在这里插入图片描述
网址:: https://github.com/

2、简单操作

本地库联通 GitHub

查看本地是否配置了密钥

在这里插入图片描述
只需要在第一次配置就可以了,如果存在就不需要额外生成密钥

生成密钥
命令:ssh-keygen -t rsa -C [用户名]

查看用户名:
在这里插入图片描述
生成密钥:
在这里插入图片描述
生成的密钥分为私钥和公钥,会保存在用户家目录的.ssh 文件夹中。
在这里插入图片描述
其中,id_rsa 是私钥,id_rsa.pub 是公钥。
将公钥告诉 github 账户,相当于约定一个接头暗号!
进入 github 的账户,
在这里插入图片描述
测试本地仓库和 github 的联通性:ssh -T git@github.com
在这里插入图片描述
ssh 文件夹中会多一个文件 known_hosts,其中记录了连接的 github 的 ip 账号。
在这里插入图片描述

3.2 Push

本地库推送到 GitHub

①准备本地库
②在 GitHub 上创建一个仓库
③增加远程地址
git remote add <远端代号> <远端地址>
<远端代号> 是指远程链接的代号,一般直接用 origin 作代号,也可以自定义;<远端地址> 默认远程链接的 url;
在这里插入图片描述
④本地库推送到远程库
git push -u <远端代号> <本地分支名称>
<远端代号> 是指远程链接的代号;
<分支名称> 是指要提交的分支名字,比如 master;
我们第一次推送 master 分支时,加上了-u 参数,Git 不但会把本地的 master 分支内容推送的远程新的master分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令。
在这里插入图片描述

查看远程分支

git remote –v

在这里插入图片描述
如果此时本地库做了修改,那么查看:
在这里插入图片描述
发现当前的本地库比远程库新增了一些内容。
在这里插入图片描述

3.3 fetch

fetch 命令可以从远程库获取更新,但是并不合并!
远程库已经更新,此时查看本地库的状态:
在这里插入图片描述
执行 git fetch 命令,查看远程库的更新;
在这里插入图片描述
再查看 git status
在这里插入图片描述

3.4、Pull

本地库抓取远程库

如果远程库的版本新于当前库,那么此时为了使当前库和远程库保持一致,可以执行pull 命令

git pull <远端代号> <远端分支名>;git pull origin master

在这里插入图片描述

查看有哪些本地库:

git remote -v

在这里插入图片描述

3.5、clone

实际的情况可能是刚开始做项目的时候,需要从远程库将项目先整到本机。
执行命令:git clone <远端地址> <新项目目录名>
<远端地址> 是指远程链接的地址;
<项目目录名> 是指为克隆的项目在本地新建的目录名称,可以不填,默认是GitHub 的项目名;
命令执行完后,会自动为这个远端地址建一个名为 origin 的代号。

git clone https://github.com/user111/Helloworld.git hello_world

3.6 解决冲突

在这里插入图片描述
此时,远程库比本地库的版本要新,因此,本地库执行拉取操作!git pull!
在这里插入图片描述
冲突原因:本地库的版本和远程库的版本都做了更新!
在推送之前,执行 git fetch,发现远程库和本地库有版本变化。
在这里插入图片描述
查看 git status,
在这里插入图片描述
此时,建议先 pull,将远程库的版本和本地库的版本 merge 后再 push!
如果强行 push,报错!
在这里插入图片描述
解决办法:先 pull,pull 的时候会发现报错冲突
在这里插入图片描述
因此开始解决冲突,编辑冲突文件!
在这里插入图片描述
编辑完成:在这里插入图片描述
之后再推:在这里插入图片描述
总结:pull----merge-----push

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值