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

Git使用详解:从安装到精通

前言

什么是Git

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。

可以理解:

        git是一个管理源代码的工具,主要用于企业团队开发。

Git的用途

  • 代码回溯:快速回到某个历史版本;
  • 版本切换:不同的项目可能有不同的版本(代码不相同),在不同的版本间进行切换;
  • 多人协作:多个人之间代码共享;
  • 远程备份:git通过仓库管理代码;

Git概述

Git简介

Git不关心管理什么文件(对于视频,音频一样管理),当然,我们主要是对代码进行管理(对管理对象并不关注)。

Git下载与安装

注意:Git的版本不要低于2.20版本,否则可能无法在idea中集成Git工具

Git代码托管服务

所谓的代码托管:实际上就是搭建Git远程仓库时使用。(Git的托管服务实际上就是搭建远程Git仓库)

常见的Git代码托管服务

使用码云代码托管服务

 码云可以理解为一个网站,上面可以进行Git托管我们的源代码,相比于外国网站github,码云的速度比较快。

1.注册登录码云账号:

 

2.使用码云创建远程仓库:

  每一个远程仓库使用一个网络地址指代:本质上使用url地址代替远程仓库的路径

Git常用命令

Git全局设置

 

 获取Git仓库

 

本地初始化一个git仓库

执行步骤如下:

1.在任意一个目录下创建一个空目录作为我们的本地Git仓库

2.进入这个目录中,点击右键打开Git bash窗口

3.执行命令 git init

如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹,主要看是否打开了查看隐藏文件夹的选项)则说明Git仓库创建成功

从远程仓库克隆

  • 此时可以将我们在gitee上创建的远程仓库克隆到本地(url为gitee中远程仓库的网络地址)
  • 在本地初始化Git仓库和从远程仓库克隆(本质上都是创建一个本地仓库来管理源文件)
  • 注意:第一次克隆远程仓库需要对应gitee的账号和密码

工作区、暂存区、版本库

  • 版本库:.git隐藏文件夹就是版本库。里面存放着配置信息、日志信息和文件版本信息等
  • 工作区:包含.git的文件夹目录就是工作区,存放开发过程中的源代码
  • 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

暂存区操作

在本地仓库中演示暂存操作 ,我们随便创建一个空的后缀名.txt的文件,命名为User。右键进入命令行界面

  • 没有文件是没有暂存区的;
  • 只能在工作区中进行命令行操作,它是一个分支(所有文件都有暂存区,只能在工作区进行命令行操作)

Git工作区中文件的状态

本地仓库操作

 查看文件状态

 此时修改文件后查看文件状态:例如在User.txt中随便添加一段文字

红色表示已修改

绿色表示已暂存

将文件的修改加入暂存区

 取消暂存或切换版本

取消暂存,文本又回到已修改未暂存的状态了

切换到指定的版本

使用命令 git  reset --hard   指定的版本随机序号

提交文件到版本库

文件需要先添加到暂存区后,才能提交到版本库中

注意:当该命令没有带-m参数(提交时保留一些额外信息)时,会跳出commit change log (COMMIT_EDITMSG)界面,这个是vi编辑器(也有可能是vim编辑器),和linux使用的vi编辑器是一样的,因为涉及到是否要保存编辑内容,所以退出命令有多种。

vi编辑器操作如下:

输入参数之后,出现新的命令窗口,此时输入i进入编辑模式。插入信息。然后按esc退出编辑模式

然后输入:wq 表示保存退出

注意:在已经关联了远程仓库的本地仓库中,如果上传文件失败,需要先将远程仓库中的文件pull下来,然后再上传。

将文件提交后若再次进行修改,需要放到暂存区然后再次提交(版本修改后,显示红色,再次提交到暂存区时变成绿色)

查看日志

可以在日志中查看不同的提交版本,此时可以通过reset的git命令切换不同的版本(通过reset进行版本回溯(指定版本)和取消暂存 )

远程仓库操作

查看远程仓库

如果想要查看已经配置的远程仓库服务器,可以运行git remote 命令,它会列出每一个远程服务器的简写。如果我们已经克隆了远程仓库,那么至少应该能看到origin,这是克隆的仓库服务器的默认名字

本地添加远程仓库

这里的origin1是对我们添加的远程仓库起一个别名

需要注意:

操作远程仓库的命令,必须在已经克隆的远程仓库下使用(默认仓库服务器名字为origin)

git remote add 只是在您的git config中创建一个条目,指定特定URL的名称。

你必须有一个现有的git仓库来使用它。需要init

git clone通过复制位于您指定的URI上的现有git存储库来创建新的git存储库。不需要init

也就是说添加远程仓库,需要初始化,而克隆远程仓库不需要初始化

如果我们在一个空文件夹下直接使用git remote 命令会出现如下提示:

 此时需要进行git init 初始化,此时在使用git remote add 命令就可以关联一个远程仓库了

添加远程仓库的命令:

git remote add <shortname><url>

shortname是简称的意思,一般约定俗成指定为origin ,url是远程仓库的地址

克隆远程仓库到本地

命令格式:

git clone [url]

推送至远程仓库

origin是远程仓库名

master是分支名

在使用git push命令将本地文件推送至码云远程仓库时,需要进行身份认真,认真通过后才可以推送

从远程仓库拉取

命令格式:

git pull origin master

从远程仓库拉取时,指定拉取的远程仓库名和分支名

分支操作

将工作从主线中分离,同一个仓库可以有多个分支,每个分支相互独立,互不干扰

git init 命令 默认创建一个master分支

 查看分支

 创建分支

 切换分支

 推送至远程仓库分支

合并分支

命令格式:

git merge [name]

合并时冲突问题:

        两个分支中同一个文件都修改了,再次合并就会出错,手动处理错误,即自己修改分支中的文件,然后提交到本地仓库(注意出现错误可以加上命令 -i)

标签操作

  • 因为分支是一个动态的概念,会向下继续发展的。
  • 因此使用标签标记分支某个重要的功能节点,标签是静态的。
  • 标签:表示的是某个分支某个时间点的状态,是个静态的概念
    • 使用静态的标签来标记分支中重要的功能节点

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。(比如项目的不同版本号)

检出标签:需要新建一个分支来指向某个标签

Git检出标签是指将代码库恢复到某个特定的标签状态,标签可以是某个特定的版本号、发布日期或其他自定义标识符,用于指定代码库的某个特定版本。通过检出标签,您可以让代码库回到过去的某个特定状态,以便进行比较、回归测试或其他操作。

在IDEA中使用Git

在idea使用git,就是在项目的根目录下创建一个本地仓库,并且关联一个远程仓库,先将项目提交到本地仓库,然后推送到远程仓库

当然,也可以直接克隆远程仓库。(本质上是初始化一个本地仓库管理源文件)

idea中使用git的方式可以更加便捷,这里不详细说明了。


http://www.kler.cn/a/316891.html

相关文章:

  • 时序数据库TimescaleDB安装部署以及常见使用
  • Elasticsearch可视化工具Elasticvue插件用法
  • 24/11/12 算法笔记<强化学习> Policy Gradient策略梯度
  • 【C++】类与对象的基础概念
  • 【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最大的数
  • Python如何用正则表达式匹配并处理文件名
  • 文件服务器FastDFS 消息队列中间件RabbitMQ
  • 快手IP归属地怎么设置别的地方
  • 【栅格地图实现布氏单元分解算法+栅格地图实现牛耕】Boustrophedon Cellular Decomposition Path Planning
  • WINDOWS AGENTARENA:EVALUATING MULTI-MODAL OS AGENTS AT SCALE论文学习
  • C++第六节课 - 拷贝构造函数
  • go语言 数组和切片
  • vue 页面常用图表框架
  • C++ std::find函数 容器元素查找
  • 机器学习-梯度下降实验一
  • 探索味蕾新境界,品味嘴尚绝卤味的健康之旅
  • 摩尔-彭罗斯伪逆(pinv)
  • spring 的启动过程
  • Kotlin 智能类型转换与 when 表达式(八)
  • 828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Redis集群
  • 实战19-详情页UI4等分
  • 浅谈C#之SynchronizationContext
  • Fyne ( go跨平台GUI )中文文档- 架构 (八)完结
  • Openpyxl 插入数据添加数据
  • leetcode 437.路径总和III
  • Gitlab runner的简单使用(一)