当前位置: 首页 > news >正文

Git工具

版本库:典型的客户/服务器系统。版本库是版本控制的核心,任意数量客户端,客户端通过写数据库分享代码。版本控制是一种记录一 个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。简单来说,就是为目录打快照。将来可以回到某一个历史记录点。是一个典型的客户端/服务器模型(C/S模型)。版本库是版本控制的核心。
集中式版本控制系统:开发者之间共用一个仓库(repos itory)。所有操作需要联网。
分布式版本控制系统:每个开发者都是一个仓库的完整克隆,每个人都是服务器。支持断网操作
Git基本概念:是一个分布式的代码管理工具。可以是C/S架构,也就是Client/Server。只要有适当的权限,每个客户端都可以下载或上传数据到服务器。
工作区:写代码的目录。就是项目代码存放的目录。
暂存区:工作区与版本库之间的缓冲地带。位置是.git/index
版本库:工作区快照存放的目录。在工作区下,名为.git的目录
安装git软件包
设置使用者的名字和email地址
在~/.gitconfig文件查看(修改)用户
创建git托管的目录
让普通目录能够被git托管
查看git状态
打快照:
1、将工作区的文件提交到暂存区
2、打快照提交到版本库中
打完快照后,此时暂存区中没有文件
再次创建几个快照
git log:查看当前以及历史快照版本
git log --pretty=oneline :简化查看历史快照版本
版本回退到第二版本
回退到第一版本
此时该git log不能查看未来版本,版本的切换实际是head指针的指向
git reflog:记录head头指针移动的轨迹
此时可以根据头指针的移动轨迹来还原到版本二、三
git分支:使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。可以按功能创建分支,分支可以合并。git的默认分支名为master。它在功能上与用户创建的分支没有区别。
常见的分支:Master:主分支;主要是稳定的版本分支,正式发布的版本都从Master拉。
Develop:开发分支;更新和变动最频繁的分支,正常情况下开发都是在Develop分支上进行的。
Release:预发行分支; -般来说,代表一个版本的功能全部开发完成后递交测试,测试出Bug后进行修复的分支。
Features:功能分支;其实Features不是- 一个分支,而是一个分支文件夹。里面包含了每个程序员开发的功能点。Feature开发完成后合入Develop分支。
HotFix:最希望不会被创建的分支;这个分支的存在是在已经正式_上线的版本中,发现了重大Bug进行修复的分支。
1、对mytest创建一个分支
git branch:查看当前分支
git branch 分支名:创建分支;git branch -d 分支名:删除分支
git checkout 分支名:切换分支
b01分支创建文件并且创建快照。
对b01分支的操作不会影响到主分支
git checkout master:切换到主分支,没有刚刚创建的b01.txt文件
git merge 分支名:将b01分支的代码合并到主分支(在主分支下执行代码)
2、创建b02分支
在b02分支上创建hell.txt文件并创建快照
切换到主分支并创建hello.txt文件打个快照
在主分钟中合并b02分支,其中都有hell.txt文件就会发生冲突
修改hello.txt文件后,重新执行commit提交(创建快照)的操作
tag标记:可以将某一次提交打标记,以示本提交重要。通常用于将某次提交标记为一个软件发行版本。
git tag:查看仓库有那些标记
git tag:标记名:给当前版本打上标记
git show 标签名:查看该标签的详细信息
练习:
1.创建名为myfile的目录,并设置为通过git管理
2.创建readme文件,说明该项目的作用。
3.将当前状态打快照。
4.在myfile中创建user . txt的文件,保存用户信息,内容为
lisi:123
zhangsan:123456
5.将当前状态打快照。
6.将当前状态打标记,标记名为1.0。
7.查看快照历史。
8.切换到最初只有readme文件时的状态。
9.切换到最新有user . txt文件时的状态。
10.创建名为develop的分支,并切换至该分支。
11.在develop分支创建名为master . txt的文件。内容为
xixi:123456
meimie:1234456
12.将当前分支状态打快照。
13.切换回master分支。
14.将develop分支合并到master。
15.将当前状态打标记,标记名为1.1。
 
1.创建名为myfile的目录,并设置为通过git管理
2.创建readme文件,说明该项目的作用。
3.将当前状态打快照。

4.在myfile中创建user . txt的文件

5.将当前状态打快照。

6.将当前状态打标记,标记名为1.0。

7.查看快照历史。

8.切换到最初只有readme文件时的状态。

9.切换到最新有user . txt文件时的状态。

10.创建名为develop的分支,并切换至该分支。

11.在develop分支创建名为master . txt的文件
12.将当前分支状态打快照。

13.切换回master分支。

14.将develop分支合并到master。

15.将当前状态打标记,标记名为1.1。
远程仓库
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub。
Gitee是国内的Git

相关文章:

  • flutter中采用腾讯云COS进行图片存储
  • Flutter 实现dispose探测控件
  • 图像处理:Python使用OpenCV进行图像锐化 (非锐化掩模、拉普拉斯滤波器)
  • R调用Taxonkit展示系统发育信息
  • c++_0基础_讲解7 练习
  • C++中的中介者模式
  • 2.linux下的文件系统结构、磁盘管理以及常规操作
  • Excel中多条件判断公式怎么写?
  • Linux:基础IO(二.缓冲区、模拟一下缓冲区、详细讲解文件系统)
  • Ubuntu安装部署
  • [渗透测试学习] Runner-HackTheBox
  • 【Netty】ByteBuffer原理与使用
  • Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
  • C/C++ Adaline自适应线性神经网络算法详解及源码
  • 自学前端第一天
  • 网络传输文件的问题
  • [译]Python中的类属性与实例属性的区别
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 0x05 Python数据分析,Anaconda八斩刀
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Computed property XXX was assigned to but it has no setter
  • docker容器内的网络抓包
  • HTML中设置input等文本框为不可操作
  • Java IO学习笔记一
  • Laravel核心解读--Facades
  • leetcode388. Longest Absolute File Path
  • Next.js之基础概念(二)
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Web Storage相关
  • 二维平面内的碰撞检测【一】
  • 高程读书笔记 第六章 面向对象程序设计
  • 京东美团研发面经
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 限制Java线程池运行线程以及等待线程数量的策略
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • #mysql 8.0 踩坑日记
  • $jQuery 重写Alert样式方法
  • (C语言)二分查找 超详细
  • (zhuan) 一些RL的文献(及笔记)
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)php投票系统 毕业设计 121500
  • (三)c52学习之旅-点亮LED灯
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)IOS中获取各种文件的目录路径的方法
  • ***详解账号泄露:全球约1亿用户已泄露
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • *上位机的定义
  • .FileZilla的使用和主动模式被动模式介绍
  • .gitignore文件使用
  • .NET Core WebAPI中封装Swagger配置
  • .NET Framework杂记
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .Net mvc总结