Git简介

Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种:

  • 本地仓库:开发人员自己电脑上的 Git仓库。
  • 远程仓库:远程服务器上的 Git 仓库。

commit: 提交, 将本地文件和版本信息保存到本地仓库。

push: 推送, 将本地仓库文件和版本信息上传到远程仓库。

pull: 拉取, 将远程仓库文件和版本信息下载到本地仓库。

 

当安装Git后首先要做到事情是设置用户名称和email地址, 这是非常重要的, 因为每次Git提交都会使用该用户的信息。

打开Git命令行执行下面命令: 

  • 设置用户信息

        git config  --global user.name "itcast"(设置用户名)

        git config --global user.email "itcast@itcast.cn"(设置email地址)

  • 查看配置信息

        git config --list

上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱, 此处可以任意设置。

获取Git仓库

本地仓库初始化

 执行步骤如下:

  1. 在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库。
  2. 进入这个目录中,点击右键打开Git bash窗口。
  3. 执行命令 git init

如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功。

本地克隆远程仓库

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地。

命令形式: git clone 【远程Git仓库地址】

基本概念

版本库: 前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。

工作区: 包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码。(.git所在文件夹以及其同级文件夹就是工作区)

暂存区: .git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。

工作区文件状态

查看git文件状态

git status 

Git工作区中的文件存在两种状态:

untracked 未跟踪(未被纳入版本控制)

tracked 已跟踪(被纳入版本控制)

        Unmodified 未修改状态

        Modified 已修改状态

        staged 已暂存状态

注意:这些文件的状态会随着我们执行Git的命令发生变化

本地仓库操作

本地仓库常用命令如下: 

  • git status                                查看文件状态
  • git add                                    将文件的修改加入暂存区
  • git reset                                  将暂存区的文件取消暂存或者是切换到指定版本
  • git commit                               将暂存区的文件修改提交到版本库
  • git log                                      查看日志

远程仓库操作

前面执行的命令操作都是针对的本地仓库,本节我们会学习关于远程仓库的一些操作,具体包括:

  • git remote                                                                 查看远程仓库
  • git remote add <远程仓库别名>   <url>                    添加远程仓库
  • git clone   <url>                                                         从远程仓库克隆
  • git pull <远程仓库别名> <远程分支名>                     从远程仓库拉取
  • git push                                                                     推送到远程仓库
# 查看远程仓库的详细信息(包括URL)
git remote -v

分支操作

分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。

通过git init 命令创建本地仓库时默认会创建一个master分支。

本节我们会学习关于分支的相关命令,具体如下:

#查看分支

git branch

#创建分支

git branch 「name]

#切换分支

git checkout 「name]

#推送至远程仓库分支

git push[shortName][name]

#合并分支

git merge name

#删除分支

git branch -d [mme]

标签操作

Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。比较有代表性的是人们会使用这个功能来标记发布结点(v1.8、v1.2等)。

#列出已有的标签

git tag

#创建标签

git tag [name]

#将标签推送至远程仓库

git push [shortName] [name]

#检出标签

git checkout -b [branch] [name]

 IDEA集成操作

配置本地仓库: 点创建Git仓库之后选择Git仓库地址

拉取, 提交, 推送操作 

连接远程仓库: 点管理远程,之后添加远程仓库(填地址)

  

分支操作: 新建分支

 冲突解决

两个用户对同一个文件的同一行代码进行操作时提交就会出现冲突, 先提交的没问题, 后提交就会冲突, 此时双击文件就能看到三个版本的代码, 最左边是后提交的代码, 中间是最初的代码, 右边是先提交的代码冲突的代码会被标注点双箭头是使用对应代码另一个点×就是忽略另一个版本的代码最后点Apply就行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91717.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91717.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/91717.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通信算法之294:LTE系统中的整数倍频偏估计

在LTE系统中&#xff0c;整数倍频偏估计主要通过以下方法实现&#xff1a;一、最大似然估计法&#xff08;ML&#xff09;通过遍历预设的整数倍频偏范围&#xff08;如30kHz&#xff09;&#xff0c;将接收信号与本地的PSS序列在不同频偏点上进行相关运算&#xff0c;选择相关峰…

数字人直播:开启直播行业新纪元​

​原始尺寸更换图片p9-flow-imagex-sign.byteimg.com​​在科技日新月异的当下&#xff0c;直播行业正经历着一场深刻变革&#xff0c;数字人直播的兴起&#xff0c;宛如一颗璀璨新星&#xff0c;照亮了直播领域的新征程。数字人直播&#xff0c;是利用先进的人工智能技术&…

朝鲜升级供应链恶意软件XORIndex,再次瞄准npm生态系统

Socket威胁研究团队最新披露&#xff0c;朝鲜国家支持的黑客组织在"传染性面试"攻击活动中采用了新型恶意软件加载器XORIndex&#xff0c;该恶意程序专门通过npm软件包注册表渗透软件供应链。攻击规模与持续性此次攻击并非孤立事件&#xff0c;而是针对开发者、求职者…

Windows 下 VS2019 编译 libevent-2.1.10 库

1. 你需要VS2019 编译好openssl-1.1.1 &#xff0c;这个具体编译或者下载可以参考我的博客openssl生成的库是这两个文件接下来&#xff0c;打开CMake &#xff0c;主要是下面的需要设置好最后Config Generate即可&#xff1b;全部成功生成 22个然后INSTALL右键生成 最后看下生…

Vim多列操作指南

我们在使用 Vim 时&#xff0c;经常需要同时编辑多个文件&#xff0c;或者同一个文件的不同部分。Vim 提供了分割窗口&#xff08;split&#xff09;和垂直分割窗口&#xff08;vsplit&#xff09;的功能&#xff0c;允许我们在同一个 Vim 会话中查看多个缓冲区&#xff08;buf…

Python网络爬虫实现selenium对百度识图二次开发以及批量保存Excel

一.百度识图自动上传图片from selenium import webdriver from selenium.webdriver.edge.options import Options from selenium.webdriver.common.by import By edge_options Options() edge_options.binary_location r"C:\Program Files (x86)\Microsoft\Edge\Applica…

Vue中的refs字段使用记录

这段代码是 Vue.js 中结合 Element UI 等 UI 库的典型表单验证写法&#xff0c;具体含义如下&#xff1a;代码拆解 this.$refs.fromData.validate((valid) > {// 验证后的回调逻辑 })this.$refs.fromData $refs 是 Vue 提供的特殊属性&#xff0c;用于访问模板中通过 ref&qu…

多方案对比分析:后端数据加密策略及实践

多方案对比分析&#xff1a;后端数据加密策略及实践 随着互联网业务对用户隐私和数据安全的要求不断提升&#xff0c;后端系统中对敏感数据的加密保护已成为必备需求。从对称加密、非对称加密到数据库透明加密、应用层字段加密&#xff0c;各种方案各有特点。本文将以方案对比分…

《Java语言程序设计》1.4 复习题

1.4.1 什么是操作系统?列出一些流行的操作系统?操作系统(Operating System)是运行在计算机上的最重要的程序。操作系统管理和控制计算机的活动。通用计算机的流行操作系统有Microsoft Windows、Mac OS以及Linux。如果没有在计算机上安装和运行操作系统&#xff0c;像Web浏览器…

OpenCV图像自动缩放(Autoscaling)函数autoscaling()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数用于对输入图像进行自动缩放&#xff08;Autoscaling&#xff09;&#xff0c;即根据输入图像的像素值范围将其线性映射到一个新的范围内&am…

多线程的认识

竞争与协作在单核 CPU 系统里&#xff0c;为了实现多个程序同时运行的假象&#xff0c;操作系统通常以时间片调度的方式&#xff0c;让每个进程执行每次执行一个时间片&#xff0c;时间片用完了&#xff0c;就切换下一个进程运行&#xff0c;由于这个时间片的时间很短&#xff…

SpringCloud相关总结

SpringCloud相关总结 1. 权威文档推荐&#xff1a; 官方文档&#xff1a;https://spring.io/cloud 玩的时候&#xff0c;注意SpringBoot与SpringCloud的版本兼容问题,推荐参考&#xff1a;https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%…

NW983NW988美光固态闪存NW991NW992

美光NW系列固态闪存深度解析&#xff1a;技术、对比与应用指南一、技术根基与架构创新美光NW系列固态闪存的技术突破源于其先进的G9 NAND架构&#xff0c;该架构采用5纳米制程工艺和多层3D堆叠技术&#xff0c;在单位面积内实现了高达256层的存储单元堆叠&#xff0c;存储密度较…

pytest + requests 接口自动化测试框架

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 pytest + req

Android性能优化之网络优化

一、网络性能瓶颈深度解析 1. 网络请求全链路耗时分析 #mermaid-svg-3cXlC9wERu99EHQH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3cXlC9wERu99EHQH .error-icon{fill:#552222;}#mermaid-svg-3cXlC9wERu99EHQH …

实现库存显示和状态按钮的Question

首先实现显示图书库存 1 if条件标签里的test""要和实体类的属性名保持一致 否则会报找不到get方法的错误org.apache.ibatis.reflection.ReflectionException: There is no getter for property named stock in class2后端已经把bookStock传到前端了&#xff0c;但是显…

vue + Cesium 实现 3D 地图水面效果详解

一、引言Cesium 是一个强大的开源 JavaScript 库&#xff0c;用于创建基于 Web 的 3D 地理信息系统 (GIS) 应用程序。它提供了丰富的 API&#xff0c;可以实现各种复杂的地理可视化效果&#xff0c;包括地形渲染、建筑物建模、矢量数据显示等。本文将详细介绍如何使用 Cesium 实…

统信 UOS 运行 Windows 应用新利器!彩虹虚拟化软件 V3.2 全新上线,限时30天免费体验

原文链接&#xff1a;统信 UOS 运行 Windows 应用新利器&#xff01;彩虹虚拟化软件 V3.2 全新上线&#xff0c;限时30天免费体验 在国产操作系统逐渐普及的今天&#xff0c;许多用户仍面临一个实际问题——一些办公软件或行业工具仍然仅支持 Windows 系统。对于已全面部署统信…

Vue中使用vue-3d-model实现加载3D模型预览展示

场景 要实现在页面中简单快速的加载3D模型用于产品展示。 实现效果如下&#xff1a; 注&#xff1a; 博客&#xff1a; 霸道流氓气质-CSDN博客 实现 3D模型技术方案对比 这里用于快速展示简单3d模型。 3D模型文件下载 可下载的网站较多&#xff0c;比如&#xff1a; Sk…

GaussDB join 连接的用法

1 join 连接的作用join 连接用于把来自两个或多个表的行结合起来&#xff0c;基于这些表之间的共同字段。 最常见的 join 类型&#xff1a;inner join&#xff08;简单的 join&#xff09;。 inner join 从多个表中返回满足 join条件的所有行。2 示例数据让我们看看选自 "…