14.git

这篇具有很好参考价值的文章主要介绍了14.git。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git

版本控制工具,对文件或内容做版本控制

记录文件在不同的时间点的状态,追踪到文件在不同的时间点下的不同状态。

可以协作的、也可以公开、可以追踪历史网盘 → 协作开发

GitHub 996icu

Linus → Linux、Git、git的命令行里可以使用linux的一些命令

分布式版本控制工具(Git)、集中式版本控制工具(SVN)

离线可用

Git的操作流程

pull:本地仓库落后于远程仓库,可以通过pull拉取远程仓库更(四声)新的这部分

push:本地仓库领先于远程,可以通过push推送给远程领先的这部分内容

工作区:是看得见摸得着的地方,开发的位置

add:将工作区的变化(指定文件)提交到暂存区

commit:将暂存区所有的变化都提交到本地仓库,产生版本信息

Git的安装

next → finish

使用Git

创建远程仓库

注册账号:记住用户名和密码

clone 获得本地仓库

git clone 仓库地址 → 克隆到当前位置

git clone 仓库地址 文件夹 → 克隆到指定文件夹

我们通常会使用一个这样的命令 git clone 仓库地址 **. ** → clone到当前文件夹

注意:

  • .git文件夹是一个隐藏文件夹,不要直接操作;
  • .git文件夹所处的目录就是工作区的根目录;也可以工作蓝色文字来区别
  • 工作区产生的变化都会被git识别

status 查看状态

git status

查看工作区和暂存区的状态,查看变化在工作区,还是已经提交到暂存区了

查看文字颜色:红色工作区绿色暂存区

add 工作区提交到暂存区

git add 文件名

git add *.java 提交某个类型的文件中产生的变化

git add src/* 提交某个目录下的文件中产生的变化

git add . 提交当前目录下所有的变化(谨慎操作),使用之前先git status

commit 提交到本地仓库

会产生版本信息,版本信息里包含本地的用户信息

第一次提交之前要先设置本地的用户信息

用户信息设置

直接修改配置文件

c:/Users/当前用户/.gitconfig (ini格式)

如果你没有这个文件可以新增一个,如果是windows,不允许创建没有名字的文件

如果window不允许创建,你可以打开git的bash → touch .gitconfig

[user]
	email = shitoushaoxia1993@gmail.com
	name = shitoushaoxia
	
[credential]   
    helper = store

使用命令修改 → 修改配置文件

git config --global user.name 值

git config --global user.email 值

git config --global credential.helper store 保存用户名密码的

执行提交

git commit -m “提交消息”

提交消息:建议小组统一 一个格式 (具体格式都可以)

注意:commit的时候已经产生了版本信息,4492a54是版本号,版本号是唯一,当前仓库使用前7位就够了

push 本地仓库推送远程仓库

领先于远程仓库

git push

第一次push的时候需要输入码云的用户名和密码,输入git push时会弹出对话框

pull 拉取变化

落后于远程仓库

git pull

协作开发

加入仓库

加入到仓库中就可以push了

如果你的仓库是私有的,也能够看到你这个仓库

处理冲突

先提交的不处理冲突

后提交的处理冲突

开发习惯:晚上走之前建议提交一下(提交的时候保证你的程序能够编译

log 查看本地仓库日志

git log

过程1

结合上面的流程图看

过程2

repo1先执行了push

过程3

repo2执行pull

发现产生冲突了

过程4

修改冲突,并且重新提交

过程5

repo2执行提交,提交最早想提交的部分和处理冲突的部分

过程6

repo1执行pull

没有冲突

Auto Merge

自动合并会让你提供合并信息(啥都不写都行) → 弹出vim编辑器

退出vim编辑器

  1. esc
  2. 冒号 wq
  3. 回车

忽略管理

你在工作产生了新的内容(变化 → 新增),git就会追踪这个变化

untracked files 还没有追踪

这个文件产生的变化我们不想给提交上去,我们可以做忽略管理

.gitignore → 要放在工作区的根目录

格式

文件名 单个文件

文件夹 某个文件夹下的文件

文件夹/

*.类型 某个类型的文件

注意事项:当前版本已经管理的文件,不能做忽略管理;只有去除掉才可以忽略管理(commit)

可以忽略自己(.gitignore),但是不建议大家忽略自己

newfile.txt 忽略单个文件
directory 忽略目录
runlist.txt
*.class 忽略了class文件

后悔药

checkout 工作区里内容的撤销

git checkout 文件名

撤销完之后,内容还能找回吗? 不能 → 谨慎操作

reset 暂存区撤回到工作区

git reset

刚刚在工作区中新增了“松哥牛皮”

提交到暂存区之后,又使用reset给撤回到工作区,“松哥牛皮”还在不在 → 在,变化仍然存在

reset --hard 本地仓库的版本回退

git reset --hard 版本号

版本号可以写前七位,也可以写完整的

注意回退的是本地仓库,指回退当前的本地仓库,对远程仓库和其他本地仓库没有影响

如果想要回到最新的状态

可以使用pull命令

分支branch

git branch -a 查看分支

括号里的蓝色文字:指的是当前分支名,也意味着你处于工作区中

创建分支

创建远程仓库的分支

创建本地仓库的分支

起点是当前分支

git checkout -b 分支名 创建分支并切换到这个分支上

git checkout 分支名 创建分支并切换到这个分支上;切换分支

建立本地仓库的分支和远程仓库分支之间的联系

设置分支之间的联系

执行一次完整的提交

分支的合并

比如我们现在要将dev分支上的变化提交到master分支上 → 在master上合并dev

切换到master分支上

分支合并 git merge dev

推送远程 git push

如果要将分支A里的合并到分支B里 → 在B上合并A
1707112412179)]

设置分支之间的联系

[外链图片转存中…(img-KHKtj6Lg-1707112412179)]

执行一次完整的提交

[外链图片转存中…(img-OWDBhuV7-1707112412179)]

[外链图片转存中…(img-vXz7yYxD-1707112412179)]

分支的合并

比如我们现在要将dev分支上的变化提交到master分支上 → 在master上合并dev

切换到master分支上

分支合并 git merge dev

推送远程 git push

[外链图片转存中…(img-v7nC1lYD-1707112412179)]

如果要将分支A里的合并到分支B里 → 在B上合并A文章来源地址https://www.toymoban.com/news/detail-830233.html

到了这里,关于14.git的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot es | spring boot 整合elasticsearch | spring boot整合多数据源es

    目录 Spring Boot与ES版本对应 Maven依赖 配置类 使用方式 @Test中注入方式 @Component中注入方式 查询文档 实体类 通过ElasticsearchRestTemplate查询 通过JPA查询 保存文档 参考链接 项目组件版本: Spring Boot:2.2.13.RELEASE Elasticsearch:6.8.0 JDK:1.8.0_66 Tips: 主要看第3列和第5列,根据ES版本选择

    2023年04月18日
    浏览(27)
  • JAVA基础学习笔记-day14-数据结构与集合源码2

    博文主要是自己学习JAVA基础中的笔记,供自己以后复习使用,参考的主要教程是B站的 尚硅谷宋红康2023大数据教程 君以此始,亦必以终。—左丘明《左传·宣公十二年》 7.1 List接口特点 List集合所有的元素是以一种 线性方式 进行存储的,例如,存元素的顺序是11、22、33。那

    2024年01月18日
    浏览(41)
  • Spring Boot进阶(19):探索ElasticSearch:如何利用Spring Boot轻松实现高效数据搜索与分析

            ElasticSearch是一款基于Lucene的开源搜索引擎,具有高效、可扩展、分布式的特点,可用于全文搜索、日志分析、数据挖掘等场景。Spring Boot作为目前最流行的微服务框架之一,也提供了对ElasticSearch的支持。本篇文章将介绍如何在Spring Boot项目中整合ElasticSearch,并展

    2024年02月11日
    浏览(26)
  • Docker安装ElasticSearch7.14.0 docker安装elasticsearch7.14.0完整详细教程

    Docker常用命令大全 Docker ElasticSearch 官方仓库 我这边选择的版本是 7.14.0 ,这个版本比较安全可靠,在终端中执行以下命令以拉取 docker pull elasticsearch:7.14.0 使用以下命令创建一个新的 rabbitmq容器并将其启动: --name 是 容器别名 将 宿主机 9200 端口映射到 容器内 9200 and 端口 93

    2024年02月13日
    浏览(18)
  • 14. Elasticsearch动态映射-1

    14.1 映射 类型和字段的信息存储(包含)在映射(mapping)中 Elasticsearch支持以下简单字段类型: 14.2 映射规则 Elasticsearch将使用动态映射猜测字段类型,这类型来自于JSON的基本数据类型,使用以下规则: 查看映射 14.3 动态映射 Elasticsearch最重要的功能之一是不必首先创建ind

    2023年04月08日
    浏览(11)
  • Elasticsearch写入数据之elasticsearch-java

    在《Elasticsearch8.4.2在windows系统下的安装介绍》中介绍了如何安装ES,那么安装成功后改如何将数据写入到ES呢?写入ES数据的方式有很多,本次将介绍一种写入方式elasticsearch-java来写入数据到ES,elasticsearch-java是官方提供的java sdk写入方式,用户只需要配置相关参数就可以方便

    2024年02月11日
    浏览(30)
  • 《Spring Boot 实战派》--13.集成NoSQL数据库,实现Elasticsearch和Solr搜索引擎

             关于搜索引擎 我们很难实现 Elasticseach 和 Solr两大搜索框架的效果;所以本章针对两大搜索框架,非常详细地讲解 它们的原理和具体使用方法, 首先 介绍什么是搜索引擎 、如何用 MySQL实现简单的搜索引擎,以及Elasticseach 的 概念和接口类; 然后介绍Elasticseach

    2023年04月09日
    浏览(67)
  • Java操作Elasticsearch(新增数据)

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 首先需要准备好elasticsearch和kibana elasticsearch的下载、安装、使用可参考:Elasticsearch安装

    2024年02月03日
    浏览(20)
  • Elasticsearch批量插入数据 java api

    在java代码开发中一般通过client api来对es进行CRUD操作。在想es插入数据时,有时候需要对数据进行批量插入。这时候可以使用bulk来实习批量插入操作,创建一个BulkRequest,接着遍历数据列表,在BulkRequest中添加每一条数据的IndexRequest。由于IndexRequest是插入单条数据,因此每一次

    2024年02月11日
    浏览(31)
  • Java操作Elasticsearch进行数据检索

    1.安装依赖 (注意版本要和自己安装的es版本对应)          打开发现部分依赖和我们es版本不一致,是因为springboot指定了版本,我们需要更换为自己对应版本。 1.1、改为自己es对应版本  2.编写配置类 3.配置类添加请求选项 4、测试 4.1、存储数据到es  4.2、检索数据  

    2024年02月16日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包