版本控制系统Git - 配置与基本使用

news/2024/5/5 15:51:37/文章来源:https://blog.csdn.net/yinying293/article/details/130534269

Git

  • 1 Git简介
    • 1 Git概述
    • 2 Git的作用
      • 2.1 项目版本管理
      • 2.2 多人协同开发
      • 2.3 Git 的结构
      • 2.4 Git的工作原理
  • 2 Git安装
    • 1 下载Git
    • 2 安装Git
    • 3 配置环境变量
    • 4 测试git是否安装成功
    • 5 安装git桌面工具(可以不安装)
  • 3 Git基本操作
    • 1 设置Git用户
    • 2 新建仓库
    • 3 查看仓库状态
    • 4 添加到暂存文件
    • 5 提交文件
    • 6 查看日志
    • 7 切换版本
  • 4 远程Git的服务器
    • 1 使用Gitee远程服务器
      • 1.1 创建Gitee账号
      • 1.2 创建仓库
    • 2 远程仓库命令
      • 2.1 连接远程仓库
      • 2.2 提交内容到远程仓库
      • 2.3 从远程仓库**克隆**代码
      • 2.4 从远程仓库拉取代码
      • 2.5 总结
  • 5 在IDEA上配置Git

1 Git简介

1 Git概述

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 与常用的版本控制工具 CVS, SVN等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

2 Git的作用

  1. 项目版本控制
  2. 多人协同开发

2.1 项目版本管理

使用git保存项目每一个开发过程中的版本

2.2 多人协同开发

使用git实现多人协同开发

Git的作用
在这里插入图片描述

2.3 Git 的结构

  • **工作区:**就是你在电脑里能看到的目录。
  • **暂存区:**英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • **版本库:**工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

2.4 Git的工作原理

Git工作流程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aJOItz1F-1683373206472)(image\git.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nrq7MZFU-1683373206473)(image\image-20210722150109550.png)]

  1. 使用git的init命令初始化一个工作区

  2. 使用add命令将工作区中的代码提交到暂存区

  3. 使用checkout命令将本地库中的代码检出到工作区

    基于别人的项目代码继续开发—先通过远程仓库地址通过克隆命令把服务器上的代码克隆到本地仓库,再从本地仓库通过check命令把本地仓库代码检出到工作区

  4. pull(fetch+merge)将远程仓库的代码拉取到工作区

2 Git安装

1 下载Git

  • 官网地址:https://git-scm.com/downloads
  • 第三方镜像地址(下载更快):https://npm.taobao.org/mirrors/git-for-windows/

2 安装Git

直接点击安装即可(一路下一步即可)

3 配置环境变量

当前版本可以自动配置环境变量

4 测试git是否安装成功

git --version

5 安装git桌面工具(可以不安装)

  • 安装小乌龟工具(Git的可视化工具) TortoiseGit-2.4.0.2-64bit.msi

3 Git基本操作

1 设置Git用户

自报家门

git config --global user.email “you@example.com”
git config --global user.name “Your Name”

查看信息

git config -l

git config --global user.email ‘yinying293@163.com’

git config --global user.name ‘yinying’

查看信息 git config -l

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zt7HmXN1-1683373206474)(img/image-20230424225808156.png)]

2 新建仓库

选择一个目录,执行指令:git init

git init 

3 查看仓库状态

执行 git status 可以看到工作区中文件的状态

git status

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i2FPoufl-1683373206474)(img/image-20230424230114070.png)]

4 添加到暂存文件

执行 git add . 将工作区中的文件全部存入暂存区

. 表示当前目录

git add .

5 提交文件

执行 git commit -m “这里写提交的描述信息” 作用是将暂存区的文件存入分支,形成一个版本

git commit -m '提交信息'  

6 查看日志

git log 查看提交日志

git log --oneline (查看简洁基本信息)

git log --all (查看所有的版本)

git log
git log --oneline
git log --all

7 切换版本

执行 git checkout 版本名称 (切换到指定的版本)

git checkout 2a52a05

以上几个命令实操

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPuzSJo8-1683373206475)(img/image-20230424231042094.png)]

4 远程Git的服务器

  • 国内git服务器:https://gitee.com/ 码云
  • 国外git服务器:https://github.com/
  • 私有Git服务器Gitlab:基于github在公司内部搭建Git服务器

1 使用Gitee远程服务器

1.1 创建Gitee账号

  • https://gitee.com/ 注册账号

1.2 创建仓库

仓库名称与路径必填 一般自己的项目设置为私有(即仅自己可见,并且可以邀请他人协同开发)

2 远程仓库命令

2.1 连接远程仓库

git remote add origin 远程仓库的地址

origin 给远程仓库地址取名字

git remote -v 查看远程仓库的地址

2.2 提交内容到远程仓库

git push origin master

注意:弹窗请输入gitee的账号密码

2.3 从远程仓库克隆代码

如果是第一次从远程仓库下载代码需要从远程仓库克隆代码到本地master分支

git clone 远程仓库地址 -b master

克隆只做一次

2.4 从远程仓库拉取代码

git pull origin master

2.5 总结

多人协同开发时,写好代码的git push 上传到远程仓库;需要代码的 git pull 拉取代码即可。

步骤:

  • 有人再次将本地
    仓库内容,上传到了远程仓库
  • 此时另一方如果想获得更新,则需要做一次拉取 git pull

在这里插入图片描述

输入码云账户密码

  [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0fZwhosQ-1683373233302)(img/image-20230424235842445.png)]

5 在IDEA上配置Git

  1. 在IDEA中关联Git(设置搜索git – 新版本的IDEA会自动检测到安装的git程序)

  2. 在IDEA中操作Git

    1. 在菜单顶栏中选择版本控制工具 VCS—>Create Git Repository

      或者命令行操作 terminal — git init

    2. 安装忽略提交文件插件 .ignore

    3. 项目 new – . ignore File – gitignore File (Git) 语言搜索选择java – creat

      1. 在 .gitignore添加忽略文件target *.iml .idea .mvm\wrapper mvnw.cmd mvnw
  3. 项目提交到远程仓库(第一次)

    1. 右击工程 --git – add (将工程添加到暂存区)—这一步可以忽略

    2. 右击工程 --git – commit directory (提交到本地库) 勾选提交内容 描述提交信息

      可以选择commit 改为commit and push

    3. 右击工程 --git – push 添加远程库地址

  4. 后续

    1. 局部修改到本地git – pull 拉取远程代码
    2. 克隆工程到本地 git – clone url填写地址即可
  5. 如果出问题,要在设置 -- version control 移除掉之前有问题的项目

  6. 分支管理

    1. 创建分支

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

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

相关文章

【python可视化】常用数据类型

🙋‍ 哈喽大家好,本次是python数据分析、挖掘与可视化专栏第二期 ⭐本期内容:常用数据类型 🏆系列专栏:Python数据分析、挖掘与可视化 👍欢迎大佬指正,一起学习,一起加油&#xff01…

C++入门3(C++新特性 using string auto)

C入门3 C新特性auto推导规则auto 作为函数的形参类型decltype基于范围for循环 typedef与usingC语言定义变量typedef 在C语言中的写法using在C11中的写法using与template的结合 string的简单使用 C新特性 auto推导规则 auto类型推导: auto定义的变量,可以根据初始化…

C语言单链表

本节目标: ①定义单链表结构体 ②初始化单链表 ③单链表增加结点(头插法、尾插法) ④删除指定结点 ⑤打印输出 目录 导入头文件 定义单链表结构体 初始化单链表 头插法 尾插法插入 删除指定结点 打印单链表 全部代码展示 导入头文件 …

中文大模型安全性哪家强?清华团队新发布

当前大型语言模型的火爆程度我们不用再进行赘述了,伴随着百度文心一言打响国内商业大模型第一枪,华为盘古,阿里通义千问,智谱ChatGLM,科大讯飞星火等国内公司纷纷开始布局。 另一方面由于众所周知的政策原因,和如火如荼…

5 分钟教你如何免费用上 GPT-4

今天要分享的就是普通用户,没有 OpenAI 账号,不需要写代码,你依然可以免费体验 GPT-4,当然,会有一些缺点,本篇文章将会手把手教你怎么用上免费版的 GPT-4 以及它的一些限制。 第一步:打开 Stea…

Threejs进阶之十三:CSS3DRenderer与Tween.js实现粒子小球按规律变化

今天我们使用CSS3DRendererTween.js实现Threejs官方示例中的粒子小球按规律变化的效果,先看下最终实现的效果 先来分析下,这个页面的动画效果是由512个小球组合起来的四种不同变化,分别是曲面、立方体、随机和圆球四种变化;下面我…

UDP的报文结构

UDP 报文结构 基本上所有的教科书上都是这样画的图, 但实际上 UDP 报文结构不是这样的, 这样显示应该是容易排版. 正确应该如下图 : 端口号 : 每个端口号在 UDP 报文里占两个字节, 取值范围就是: 0 ~ 65535 源 ip 和源端口描述了数据从哪里来, 目的 ip 和目的端口描述了数据去哪…

文本的清洗和标准化:如何处理混乱的数据?

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

操作系统考试复习—第三章 优先级倒置 死锁问题

当前OS广泛采用优先级调度算法和抢占方式,然而在系统中存在着影响进程运行的资源从而可能产生"优先级倒置"现象 具体解释为:在原本的调度算法设计中,高优先级进程可以抢占低优先级的CPU资源,先执行高优先级任务。但是存…

x265码控分析

D和R的关系 高分辨率量化 均匀量化:量化区间 ‘ Δ k y k − y k − 1 ‘ \Delta_ky_k-y_{k-1} ‘Δk​yk​−yk−1​‘,近似为常数;p(x)为信源概率密度函数,且 ‘ Δ k ‘ \Delta_k ‘Δk​‘的大小相对于p(x)的变化率充分小&…

电力NLP:指令票规范识别

文章目录 任务目的想法讲解数据集介绍1电气主语2操作任务判断数据集3操作内容判断数据集4错误词数据集 解法讲解程序、数据集下载链接 任务目的 识别调度指令票(或者其它操作票)是否规范。 想法讲解 按石第2014—16号定值单投入石双西线161开关6区保护…

突发!ChatGPT王炸级更新!支持GPT-4联网 Code Interpreter!

4月30日,OpenAI官方悄悄发布了联网版GPT-3.5。虽然名字变了,但使用体验却是换汤不换药,还是那套。 然而,万万没想到的是,刚过去没几天,昨天5月4日,鱼哥发现自己的Plus账号竟然多了一些能力&…

树莓派硬件介绍及配件选择

目录 树莓派Datasheet下载地址: Raspberry 4B 外观图: 技术规格书: 性能介绍: 树莓派配件选用 电源的选用: 树莓派外壳选用: 内存卡/U盘选用 树莓派Datasheet下载地址: Raspberry Pi …

C++11多线程:std::thread创建线程和std::async创建异步任务的区别,std::async创建异步任务后没有被推迟执行。

系列文章目录 文章目录 系列文章目录前言一、thread和async的区别1.1 新线程和异步任务1.2 std::async和std::thread最明显的不同,就是async有时候并不创建新线程。1.3 std::async和std::thread的区别1.4 std::async不确定性问题的解决 二、使用方法2.1 std::async创…

JVM学习随笔02——虚拟机内存区组成与内存溢出异常

一、Java虚拟机内存区组成图 1、程序计数器: 每个线程独占一个计数器,用来指示该线程下一条要执行的指令的地址。这一部分不会导致内存异常。PS:如果一个线程进入的是一般的Java方法,计数器指示的是下一条指令地址;如果…

浅谈“孔乙己”的长衫

书中的孔乙己 孔乙已是鲁迅笔下人物,穷困流倒还穿着象征读书人的长衫,迁腐、麻木。最近,大家自我调佩是“当代孔乙己”,学历成为思想负担,找工作时高不成低不就。 当代的“孔乙己” 如今社会,从小学开始每…

C# 学习abstract

abstract 顾名思义:抽象 从微软官方文档来看:abstract 修饰符指示被修改内容的实现已丢失或不完整。 abstract 修饰符可用于类、方法、属性、索引和事件。 在类声明中使用 abstract 修饰符来指示某个类仅用作其他类的基类,而不用于自行进行…

L4公司进军辅助驾驶,放话无图也能跑遍中国

作者 | Amy 编辑 | 德新 高阶智能驾驶走向规模量产,高精地图成为关键的门槛之一。今年,多家车企和智驾公司都喊出「不依赖高精地图,快速大规模落地」的口号。 华为、小鹏、元戎以及毫末等,可能是最快在国内量产 无高精图智…

服务器的基本概念与初始Ajax

1. 客户端与服务器 1.1 上网的目的 刷微博、看新闻、听歌、看电影。。。 本质目的:通过互联网的形式来获取和消费资源 1.2 服务器 上网过程中,负责存放和对外提供资源的电脑,叫做服务器。 1.3 客户端 上网过程中,负责获取…

nginx(七十三)nginx与Location响应头细节探讨

一 nginx与Location响应头细节探讨 ① 重定向和Location回顾 多种重定向跳转方式的差异 nginx之absolute_redirect、server_name_in_redirect、port_in_redirect 共同控制Location响应头 ② STS响应头导致307重定向 "第一次访问 http://www.baidu.com" 观察…