Git安装与使用及整合IDEA使用的详细教程

news2024/11/22 22:11:40

1. 版本控制软件介绍

        版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。

        编程中的代码版本控制工具是软件开发过程中不可或缺的一部分。它能够帮助开发团队有效地管理代码变更、追踪历史记录、协同工作以及解决冲突。

        主流版本控制工具:Git、Svn 等

2. Git介绍

        Git是一个开源、免费的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理.
        Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
        Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近很多 Freedesktop 的项目也迁移到了 Git 上。

3. Git工作原理

Git的工作原理可以概括为以下几个步骤:

(1)初始化仓库:使用git init命令在本地创建一个新的Git仓库。

(2)检出(Checkout):切换到想要工作的分支。

(3)暂存(Stage):使用git add命令将修改后的文件添加到暂存区。

(4)提交(Commit):使用git commit命令将暂存区的内容提交到本地仓库。

(5)推送(Push):使用git push将本地仓库的提交推送到远程仓库。

(6)拉取(Pull):使用git pull命令从远程仓库获取最新内容并合并到本地仓库。

(7)分支(Branch):创建、切换、合并分支。

(8)远程同步:使用git fetch和git pull从远程仓库获取最新的历史记录和数据。

4. Git下载

4.1 访问Git官网 https://git-scm.com/

4.2 进入下载页面,可以下载最近版的Git工具,选择对应的版本,例如:windows 64位

下载之后的文件为:

5. Git安装与配置

5.1 双击安装文件,之后按下图进行操作

5.2 看完许可声明,点击Next就好了

5.3 选择安装路径

5.4 选择组件

5.5 选择开始菜单文件夹

创建安装程序将在下面的“开始”菜单文件夹中创建程序的快捷方式。继续点击Next。如果要选择其他文件夹可以自行修改

5.6 选择Git使用的默认编辑器

使用Vim作为Git的默认编辑器,Vim编辑器虽然功能强大,但很难使用。它的用户界面是不直观的,它的关键绑定是尴尬的。建议改用现代GUI编辑器。其实这里用到编辑器并不多,就用默认的也是可以的

5.7 调整新存储库中初始分支的名称

默认创建存储库的初始分支为master,如果修改的话,可以选择第二个点击main,修改为想要的分支名

5.8 调整Path环境,推荐使用默认配置。

        第一个是“仅从Git Bash只使用Git”。这是最安全的选择,因为PATH根本不会被修改,只能使用 Git Bash 的 Git 命令行工具,但是这将不能通过第三方软件使用。
        第二个是“从命令行以及第三方软件进行Git”。默认这个配置也是被推荐的,被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。能够从Git Bash,命令提示符和Windows PowerShell以及在PATH中寻找Git的任何第三方软件中使用Git。
        第三个是“从命令提示符使用Git和可选的Unix工具”。警告:这将覆盖Windows工具,如“find 和sort ”。只有在了解其含义后才使用此选项。
推荐使用默认配置,点击“Next”按钮进入下一个安装界面。

5.9 选择SSH可执行文件

第一个使用Git附带的ssh.exe。
第二个使用外部OpenSSH,这使用外部ssh.exe。Git不会安装它自己的OpenSSH
(和相关的)二进制文件,但是使用它们就像在路径上找到的那样。

选择Git附带的就好,点击Next

5.10 选择HTTPS传输后端

第一个是使用OpenSSL库,服务器证书将使用ca-bundle.crt文件进行验证。
第二个使用本机Windows安全通道库,服务器证书将使用Windows证书存储进行验证。

点击Next

5.11 配置行结束转换

        第一个是“签出Windows风格,提交Unix风格的行尾”。签出文本文件时,Git会将LF转换为
CRLF。提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Windows上的推荐设置(
core.autocrlf”设置为“ true”)
        第二个是“按原样签出,提交Unix样式的行尾”。签出文本文件时,Git不会执行任何转换。 提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Unix上的建议设置(“ core.autocrlf”设置为“input”)
        第三种是“按原样签出,按原样提交”。当签出或提交文本文件时,Git不会执行任何转换。不建议跨平台项目选择此选项(“core.autocrlf”设置为“ false”)
选择默认第一种选项,点击“Next”按钮到下一个安装界面。

5.12 配置用于Git Bash的终端模拟器

        第一个是“使用MinTTY(MSYS2的默认终端)”。Git Bash将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode字体。Windows控制台程序(例如交互Python)必须通过“ winpty”启动才能在MinTTY中运行。
        第二个是“使用Windows的默认控制台窗口”。Git将使用Windows的默认控制台窗(“cmd.exe”),
该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。
选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。

5.13 选择git pull的默认行为

        第一个是默认值,这是“git pu”的标准行为:尽可能将当前分支快速转发到获取的分支,否则创建合并提交
        第二个是复位,将当前分支复位到获取的分支上。如果没有要重新设置基础的本地提交,这相当于快进,
        第三个是只有快进,快进到获取的分支。如果不能获取,则失败。
选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。

5.14 配置凭证管理器

第一个,Git凭证管理器
第二个,无,不要使用凭证管理器
选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。

5.15 配置额外选项

        第一个,“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作
(“core.fscache”设置为“true”)。 这提供了显著的性能提升。
        第二个,“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。
选择第一种选项,点击“Next”按钮进入下一个安装界面。

5.16 配置实验选项

第一个,启用对伪控制台的实验性支持。
这允许在git bash窗口中运行Node或Python之类的本机控制台程序,而无需使用winpty,但它仍然存在已知的bug。
第二个,启用实验性内置文件系统监视器
自动运行内置的文件系统监视程序,以加速包含许多文件的工作树中的常见操作,如“git
status”、“git add”、“git commit”等,可以根据需要选择,这里都选上了,点击“Install”按钮开始安装

5.17 等待安装完成

5.18 点击finish安装完成,可以取消勾选,第二个是查看Git发行的,不取消勾选会在浏览器跳转

5.19 浏览器跳转页面

至此Git安装完毕。

6. Git 结合 Gitee使用

6.1 Gitee上创建仓库

6.1.1 登录Gitee官网,登录个人账号,新建仓库

新建仓库(填写项目名,项目介绍可以不写,项目初始化)

6.2 Git 克隆Gitee项目

6.2.1 进入项目,点击“克隆/下载”

6.2.2 使用https协议,复制url

6.2.3 使用Git克隆项目

6.2.3.1 进入指定的目录,执行git命令

        例如:进入 D盘gitproject目录下,鼠标右键,选择“Open Git Bash here”

      执行命令:  git clone 远程仓库地址

6.3 Git将本地项目提交到Gitee远程仓库

6.3.1 在gitproject目录下创建code/index.html文件

6.3.2 切换到当前项目的根目录下

6.3.3 先要想本地代码添加到暂存区:git add 需要暂存的文件

6.3.4 将暂存区中的代码提交到本地仓库:git commit -m "说明文字"

6.3.5 将本地仓库的代码推送到远程仓库:git push

        需要输入 gitee的用户名与密码

然后查看 gitee上内容是否有刚才创建的内容

6.3.6 如果提交的时候没有成功,需要配置提交人的信息,可以执行如下命令

注意:可以在刚安装好Git的时候,就设置用户签名(邮箱不一定需要真实的邮箱,因为Git不会去验证邮箱

# git config --global user.email "you@example.com"
# git config --global user.name "Your Name"
git config --global user.email "377170019@qq.com"
git config --global user.name "lama"

6.4 SSH配置和使用

6.4.1 需要在本地配置相关的加密

执行 cd ~/.ssh

上图表示没有配置与ssh相关的加密文件

6.4.2 配置ssh相关的配置文件

命令: ssh-keygen -t rsa -C 'youremail@qq.com'

注意:邮箱最好和码云的保持一致

命令: ssh-keygen -t rsa -C '377170019@qq.com' (之后执行三次回车)

看到上面的内容,就表示本地的ssh相关的加密文件搞定啦,查看加密文件

id_rsa : 私钥
id_rsa.pub : 公钥

6.4.3 在码云上设置公钥

设置标题,并将C盘中生成的公钥内容复制进来

点击“确定”,如下

6.5 使用ssh克隆项目

执行 

在code目录下添加 show.html,并进行提交

查看Gitee上的内容

6.6 冲突问题

6.6.1 什么是冲突

        在开发中会出现多个人修改(操作)同一个文件。这时只要有一个人把修改的文件给提交了,其他人本地还没有去与远程仓库进行最新的文件拉去动作,但是其他人也改了相同的文件,这时不管谁提交文件,都会提示冲突,需要解决,否则无法提交

6.6.2 解决冲突方法

6.6.2.1  重新拉去远程仓库中最新的文件

6.6.2.2 本地就会出现冲突,需要人为介入解决冲突的代码

6.7 分支

        在开发过程中,需要同时进行多个开发任务,这时我们可以使用Git分支功能,为每个任务创建单独的分支。使用分支把自己开发任务从开发主线上分离开来,开发自己分支时,不会影响主线分支的运行。

常用的分支操作如下:

6.7.1 查看当前仓库的分支情况:git branch

6.7.2 创建并切换到一个新的分支:git checkout -b 分支名

6.7.3 切换到已有分支(注意需要先把变更提交)git checkout 分支名

6.7.4 将指定的分支推送到gitee的master分支上

  git push origin 分支名称

查看Gitee上的分支

6.7.5 删除远程仓库分支

git push origin --delete name

6.7.6 删除本地分支,否则远程仓库的删除分支,本地仓库还有分支

git branch –d name

6.7.7 将代码提交到指定的分支上,例如 test

7. Git 整合 IDEA 

7.1 打开IDEA 工具,选择File=》Settings=》Version Control=》Git

选择Git的安装目录下git.exe ,然后点击“Test” 按钮进行测试

8. IDEA 将已有的本地项目关联到远程仓库

8.1 Gitee上创建对应的仓库,例如:shoppingproject

创建一个空白仓库

8.2 IDEA 中创建项目

8.3 创建本地仓库

项目文件的颜色改变

8.4 添加项目到本地仓库

 项目右键,出来一下界面,然后点击“Add”添加项目到本地仓库。

执行完“Add” 之后,项目文件名的颜色也会发生变化

8.5 提交项目到本地仓库

项目右键,出现以下界面,然后点击“Commit Directory...”,将项目提交项目到本地仓库。

点击上图标记之后,进入提交界面,如图:(有可能出现的界面布局不同)

如下,然后点击“Commit” 即可

8.6 将项目添加到远程仓库

8.6.1 先获取远程仓库的https地址

8.6.2 设置远程仓库中项目路径

点击“+”号,添加地址

点击 OK 即可

8.6.3 push项目到远程仓库

选择“push” 即可

需要输入远程仓库,例如 Gitee码云的账号名与密码

输入完毕,点击“Log In” 即可。

然后查看Gitee上的项目

到此完成。

9. IDEA 从远程仓库克隆项目

9.1 将远程仓库Gitee中项目的url复制出来

9.2 打开IDEA工具,点击顶部菜单栏中的“VCS”(版本控制),然后选择“Get from Version Control”(从版本控制中检出)

完成项目的克隆

10. 使用IDEA进行Git操作

10.1 提交代码改动(在本地项目中创建一个jsp页面)

(1) 在IDEA的左侧导航栏中,你会看到项目的改动文件列表。
(2)右键点击需要提交的文件,然后选择“Git”->“Commit Directory...”(提交文件)。
(3)在弹出的提交窗口中,输入提交的描述信息,然后点击“Commit”(提交)按钮。

10.2 推送改动到远程仓库:
(1) 在IDEA的左侧导航栏中,点击顶部菜单栏中的“VCS”->“Git”->“Push”(推送)按钮(或者右键点击需要提交的文件,然后选择“Git”->“Commit Push”)。
(2) 输入你的Git仓库的远程URL和其他相关信息,然后点击“OK”按钮。
(3) IDEA将把你的本地改动推送到远程Git仓库。

10.3 更新代码改动:(测试方式,在远程仓库中创建一个jsp页面)
(1)在IDEA的左侧导航栏中,点击顶部菜单栏中的“VCS”->“Git”->“Pull”(更新项目)(或者右键点击需要提交的文件,然后选择“Git”->“Pull”)。
(2) IDEA将会从远程仓库获取最新的代码改动,并将其应用到你的项目中。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2 z变换与离散时间傅里叶变换

目录 序列的z变换 z变换的定义 常用典型序列的z变换 序列类型与z变换的收敛域 序列的分类 X(z)的极点与收敛域 单边序列 双边序列 z变换的性质 线性 序列移位 单边序列 双边序列 z域尺度变换 序列乘以n 复共轭序列的z变换 初值定理 终值定理 时域卷积定理 …

Suno体验记录

五月初的时候初体验了一下Suno v3,当时整体觉得还不错,操作简单,生成快,歌曲也算好听。当时就截止到这里了。最近发现有了一些新的更新,觉得可以整理记录一下。 1. 简单介绍 免费用户一天50积分(不累计&a…

python 压缩数据

requests 是 Python 中一个非常流行的 HTTP 库,用于发送各种 HTTP 请求。下面是一个使用 requests 库发送简单 GET 请求和 POST 请求的示例: 首先,确保你已经安装了 requests 库。如果还没有安装,可以使用 pip 进行安装&#xff…

在线教育项目(一):如何防止一个账号多个地方登陆

使用jwt做验证,使用账号作为redis中的key,登录的时候生成token放到redis中,每次申请资源的时候去看token 有没有变,因为token每次登录都会去覆盖,只要第二次登录token就不一样了

【接口自动化测试】第四节.实现项目核心业务的单接口自动化测试

文章目录 前言一、登录单接口自动化测试 1.1 登录单接口文档信息 1.2 登录成功 1.3 登录失败(用户名为空)二、数据驱动的实现 2.1 json文件实现数据驱动总结 前言 一、登录单接口自动化测试 1.1 登录单接口文档信息 需求&#xff1…

实验6 形态学图像处理

1. 实验目的 ①掌握数字图像处理中,形态学方法的基本思想; ②掌握膨胀、腐蚀、开运算、闭运算等形态学基本运算方法; ③能够利用形态学基本运算方法,编程实现图像去噪,边界提取等功能。 2. 实验内容 ①调用Matlab /…

数据资产铸就市场竞争优势:运用先进的数据分析技术,精准把握市场脉搏,构建独特的竞争优势,助力企业实现市场领先地位,赢得持续成功

目录 一、引言 二、数据资产的重要性 三、先进数据分析技术的应用 1、大数据分析技术 2、人工智能与机器学习 3、数据可视化技术 四、精准把握市场脉搏 1、深入了解客户需求 2、预测市场趋势 3、优化资源配置 五、构建独特的竞争优势 1、定制化产品和服务 2、精准营…

计算机网络原理及应用

第一章 计算机网络概述 【1】局域网 局域网是指在某一区域内由多台计算机互联而成的计算机通信网络。 【1】互通 两个网络之间可以交换数据。 第二章 计算机网络的体系结构 【1】语义 何时发出何种控制信息,完成何种动作以及做出何种响应。 【2】简述网络协…

1Panel运维利器:功能详解与实操指南

官网地址:https://1panel.cn/ 1Panel简介 1Panel是杭州飞致云信息科技有限公司旗下产品,是一款现代化、开源的Linux服务器运维管理面板,于2023年3月推出。 名称:1Panel开源Linux面板 所属公司:杭州飞致云信息科技有限公司 编写语…

【C++】————string基础用法及部分函数底层实现

作者主页: 作者主页 本篇博客专栏:C 创作时间 :2024年6月30日 前言: 本文主要介绍STL容器之一 ---- string,在学习C的过程中,我们要将C视为一个语言联邦(摘录于Effective C 条款一&#x…

智能旅行规划的未来:大模型与形式化验证的融合

我们在做旅行规划时面对众多的目的地选择、复杂的交通连接、预算限制以及个人偏好等多重因素,即使是最有经验的旅行者也可能会陷入选择困境。传统的旅行规划方法往往依赖于人工操作,这不仅耗时耗力,而且难以保证计划的最优性和可执行性。 本…

Linux——/etc/passwd文件含义,grep,cut

/etc/passwd文件含义 作用 - 记录用户账户信息:共分为7段,使用冒号分割 含义 - 文件内容意义:账户名:密码代号x:UID:GID:注释:家目录:SHELL - 第7列/sbin/nologin&#x…

sheng的学习笔记-AI-聚类(Clustering)

ai目录 sheng的学习笔记-AI目录-CSDN博客 基础知识 什么是聚类 在“无监督学习”(unsupervised learning)中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。此类学…

WAIC2024 | 华院计算邀您共赴2024年世界人工智能大会,见证未来科技革新

在智能时代的浪潮汹涌澎湃之际,算法已成为推动社会进步的核心力量。作为中国认知智能技术的领军企业,华院计算在人工智能的广阔天地中,不断探索、创新,致力于将算法的潜力发挥到极致。在过去的时日里,华院计算不断探索…

昇思25天学习打卡营第7天|模型训练

模型训练 模型训练一般分为四个步骤: 构建数据集。定义神经网络模型。定义超参、损失函数及优化器。输入数据集进行训练与评估。 前面几天依次学习了前面几个步骤的操作,今天继续学习模型训练。 数据集和神经网络模型这个前面已经有详细的介绍。准确…

力扣SQL50 连续出现的数字 distinct

Problem: 180. 连续出现的数字 👨‍🏫 力扣官解 Code SELECT DISTINCTl1.Num AS ConsecutiveNums FROMLogs l1,Logs l2,Logs l3 WHEREl1.Id l2.Id - 1AND l2.Id l3.Id - 1AND l1.Num l2.NumAND l2.Num l3.Num ;

线程安全问题(二)——死锁

死锁 前言可重入锁逻辑 两个线程两把锁(死锁)死锁的特点多个线程多把锁(哲学家就餐问题)总结 前言 在前面的文章中,介绍了锁的基本使用方式——锁 在上一篇文章中,通过synchronized关键字进行加锁操作&am…

只需10分钟1条,全是原创精美视频,拆分8个步骤详细讲解!

不少朋友在问如何快速学习剪辑视频,网上还有很多在收几百到几千学费。其实所有的付费,都是认知与信息差。 这篇文章我直接讲干货,内容不多,大概3分钟可以看完。所有步骤都是富哥亲测的内容,每条视频长达1分钟以上&…

检索增强生成RAG系列4--RAG优化之问题优化

在系列2的章节中罗列了对RAG准确度的几个重要关键点,主要包括2方面,这一章就针对其中问题优化来做详细的讲解以及其解决方案。 从系列2中,我们知道初始的问题可能对于查询结果不是很好,可能是因为问题表达模糊、语义与文档不一致等…

职场必备:三大神器助你完美驾驭工作与生活;从 GTD 到SMART再到OKR:提升效率的终极指南;告别拖延,高效工作的秘密武器!

在现代职场和个人生活中,有效的时间管理和目标设定是成功的关键。我们每天都面临着无数的任务和目标。如何在纷繁复杂的日常中保持专注,高效地完成工作? GTD(Getting Things Done) GTD(Getting Things Don…