Git的简单使用
创始人
2024-02-07 07:25:40

Git的简单使用

  • 一、关于版本控制
    • 1、文件的版本
    • 2、版本控制软件
      • 1.本地版本控制系统
      • 2.集中化的版本控制系统
      • 3.分布式的版本控制系统
  • 二、Git的简介
    • 1、什么是Git
    • 2、SVN的差异比较
    • 3、Git的记录快照
    • 4、Git中的三个区域
    • 5、使用Git的基本流程
  • 三、Git的基本操作
    • 1、配置Git
      • 1. 配置用户信息
      • 2. 查看全局配置
      • 3. 获取帮助信息
    • 2、获取git仓库的两种方式
      • 1. 将本地目录转换为git仓库
      • 2. 从服务器克隆已存在的git仓库
    • 3、工作区中文件的4中状态
    • 4、检查文件的状态
    • 5、跟踪新文件
    • 6、提交更新文件
    • 7、修改已提交的文件
    • 8、暂存已修改的文件
    • 9、提交暂存已修改的文件
    • 10、撤销对文件的更改
    • 11、向暂存区一次添加多个文件
    • 12、取消暂存的文件
    • 13、跳过使用暂存区
    • 14、从git仓库中移除文件
    • 15、git忽略文件
    • 16、查看提交历史
    • 17、回退到指定版本
  • 四、Github
    • 1、什么是开源
    • 2、什么是开源许可协议
    • 3、什么是开源项目托管平台
    • 4、什么是GitHub
    • 5、GitHub远程仓库的使用
      • 1.GitHub新建空白远程仓库
      • 2.GitHub远程仓库的两种访问方式
      • 3.HTTPS方式访问远程仓库
      • 4.SSH方式访问远程仓库
      • 5.将远程仓库克隆到本地
  • 五、Github的分支
    • 1、什么是分支
    • 2、main主分支
    • 3、功能分支
    • 4、查看分支列表
    • 5、创建新的分支
    • 6、切换分支
    • 7、创建分支加切换到新分支
    • 8、合并分支
    • 9、删除分支
    • 10、分支合并时遇到冲突
    • 11、本地分支推送到远程仓库
    • 12、查看远程仓库中的分支列表
    • 13、跟踪分支
    • 14、拉取远程仓库分支最新的代码到本地分支
    • 15、删除远程仓库中的分支
  • 六、总结

一、关于版本控制

1、文件的版本

在这里插入图片描述

2、版本控制软件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.本地版本控制系统

在这里插入图片描述

2.集中化的版本控制系统

在这里插入图片描述

3.分布式的版本控制系统

在这里插入图片描述

二、Git的简介

1、什么是Git

在这里插入图片描述在这里插入图片描述

2、SVN的差异比较

在这里插入图片描述

3、Git的记录快照

在这里插入图片描述在这里插入图片描述

4、Git中的三个区域

在这里插入图片描述在这里插入图片描述

5、使用Git的基本流程

在这里插入图片描述

三、Git的基本操作

1、配置Git

1. 配置用户信息

在这里插入图片描述

git config --global user.name "xxxx"
git config --global user.name "xxxx@163.com"

2. 查看全局配置

在这里插入图片描述
在这里插入图片描述


通过命令行查看
在这里插入图片描述

git config --list --global
git config user.name
git config user.email

3. 获取帮助信息

在这里插入图片描述

git help config
git config -h

2、获取git仓库的两种方式

在这里插入图片描述

1. 将本地目录转换为git仓库

在这里插入图片描述

git init

在这里插入图片描述

2. 从服务器克隆已存在的git仓库

3、工作区中文件的4中状态

在这里插入图片描述

4、检查文件的状态

在这里插入图片描述

git status

在这里插入图片描述
精简方式显示文件状态

git status -s
git status --short

在这里插入图片描述

5、跟踪新文件

在这里插入图片描述

git add xxx

在这里插入图片描述

6、提交更新文件

在这里插入图片描述在这里插入图片描述

git commit -m "新建了Makefile文件"

在这里插入图片描述

7、修改已提交的文件

在这里插入图片描述

8、暂存已修改的文件

在这里插入图片描述

9、提交暂存已修改的文件

在这里插入图片描述

10、撤销对文件的更改

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git checkout -- xxx

11、向暂存区一次添加多个文件

在这里插入图片描述

git add .

12、取消暂存的文件

在这里插入图片描述

git reset HEAD .

13、跳过使用暂存区

在这里插入图片描述

git commit -a -m "描述"

14、从git仓库中移除文件

在这里插入图片描述

git rm -f xxx
git rm --cached xxx

15、git忽略文件

在这里插入图片描述
在这里插入图片描述

#忽略所有的.a文件
*.a#但跟踪所有的lib.a,即使在前面忽略了.a文件
!lib.a#只忽略当前目录下的TODO文件,而不忽略subdir/TODO
/TODO#忽略任何目录下名为build的文件夹
build/#只忽略当前目录下名为build的文件夹
/build/#忽略doc/notes.txt,但不忽略doc/server/arch.txt
doc/*.txt#忽略doc/目录及其所有子目录下的.pdf文件
doc/**/*.pdf

16、查看提交历史

#按时间先后顺序列出所有的提交历史,最近的提交排在最上面

git log

#只展示最新的两条提交历史,数字可以按需进行填写

git log -2

#在一行上显示最近两条提交历史的信息

git log -2 --pretty=oneline

#在一行上显示最近两条提交历史的信息,并自定义输出的格式
#%h提交的简写哈希值 | %a作者名字|%ar作者修订日期|%s提交说明

git log -2 --pretty=format:"%h | %an | %ar | %s"

17、回退到指定版本

#在一行上展示所有的提交历史

git log --pretty=oneline

#根据指定的提交ID回退到指定的版本

git reset --hard 

#在旧版本中查看当时的提交历史

git reflog --pretty=oneline

#再次根据ID,跳转到最新的版本

git reset --hard 

疑问
这里只是git仓库中回退到了历史的版本,工作区和暂存区怎么回退到历史版本
后者说是已经都退回到了历史版本

四、Github

1、什么是开源

在这里插入图片描述

2、什么是开源许可协议

在这里插入图片描述

3、什么是开源项目托管平台

在这里插入图片描述

4、什么是GitHub

在这里插入图片描述

5、GitHub远程仓库的使用

1.GitHub新建空白远程仓库

在这里插入图片描述

2.GitHub远程仓库的两种访问方式

在这里插入图片描述

3.HTTPS方式访问远程仓库

在这里插入图片描述
后面再推送代码,直接git push 就可以了,不需要-u origin main了,只有第一次需要

echo "# a" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/huaidanatu/a.git
git push -u origin main
git remote add origin https://github.com/huaidanatu/a.git
git branch -M main
git push -u origin main

4.SSH方式访问远程仓库

SSH key

在这里插入图片描述


1.生成ssh key
在这里插入图片描述

ssh-keygen -t rsa -b 4096 -C "your-email@163.com"

2.配置ssh key
在这里插入图片描述


3.检测ssh key是否配置成功

在这里插入图片描述

ssh -T git@github.com
Hi huaidanatu! You've successfully authenticated, but GitHub does not provide shell access.

4.将本地仓库内容推送到GitHub仓库

echo "# a" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:huaidanatu/a.git
git push -u origin main
git remote add origin git@github.com:huaidanatu/a.git
git branch -M main
git push -u origin main

5.将远程仓库克隆到本地

git clone 地址

五、Github的分支

1、什么是分支

在这里插入图片描述
在这里插入图片描述

2、main主分支

之前叫master,现在叫main
在这里插入图片描述

3、功能分支

在这里插入图片描述

4、查看分支列表

在这里插入图片描述

git branch

5、创建新的分支

在这里插入图片描述

git branch 分支名称
一定要注意,创建完新分支后,还是在原来的分支中呢,没有到新分支中去,只是创建了一个新的分支

6、切换分支

在这里插入图片描述

git checkout 分支名称

7、创建分支加切换到新分支

在这里插入图片描述

git checkout -b 分支名称

8、合并分支

在这里插入图片描述

git checkout main
git merge login
先切换到主分支,然后再合并,就把login分支合并到主分支上去了

9、删除分支

在这里插入图片描述

git branch -d 分支名称
自己不能在要删除的分支上进行删除这个分支的操作

10、分支合并时遇到冲突

在这里插入图片描述

11、本地分支推送到远程仓库

在这里插入图片描述

git push -u 远程仓库别名 本地分支名称:远程分支名称
git push -u origin local_login:login
git push -u origin login

12、查看远程仓库中的分支列表

在这里插入图片描述

git remote show 远程仓库的名字

13、跟踪分支

在这里插入图片描述

相当于只要切换到那个分支,就自动把那个分支动远程仓库中克隆到本地了

14、拉取远程仓库分支最新的代码到本地分支

在这里插入图片描述

git pull

15、删除远程仓库中的分支

在这里插入图片描述

git push 远程仓库名称 --delete 远程分支名称
git push origin --delete login

六、总结

在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...