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

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将会从远程仓库获取最新的代码改动,并将其应用到你的项目中。

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

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

相关文章

Swift 新结构化并发中鲜为人知的 isolated 参数

概述 伴随着 Swift 5.5(WWDC21)推出的新结构化并发到今年的 WWDC 24 已经有 3 个多年头了。想必大家都对其中 async/awiat、async let、TaskGroup、Actor 等各种概念都了然于胸了吧? 不过小伙伴们可能不知道的是:新结构化并发&a…

【Eplan】P8-图纸设计的四种方法

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解 EPLAN 的图纸设计的四种方法:面向图形、面向设备、面向物料清单、面向安装情况; 2、 问题场景 为什么 EPLAN 要使用四种不同的设计方法。 3、软硬件环境 1、软件版本:EPLAN…

Ubuntu无法安全地用该源进行更新,所以默认禁用该源。

解决方案 1. 获取并添加缺失的 GPG 公钥 可以使用 apt-key 命令来添加缺失的公钥。根据错误信息,缺失的公钥是 3B4FE6ACC0B21F32。 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F322. 更新软件包列表 添加公钥后,更…

ADS131A04硬件设计与软件调试

一、IC基本信息 ADS131A0x 双通道或四通道 24 位 128kSPS 同步采样 Δ-Σ ADC •双通道或四通道同步采样差分输入 • 数据速率:高达 128kSPS • 高性能: – 单通道精度:在 10,000:1 动态范围内优于 0.1% – 有效分辨率:20.6位…

【MotionCap】搭建wsl2的pytorch环境

参考大神:wsl2-ubuntu版本 cuda下周cuda11.3 wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run sudo sh cuda_11.3.0_465.19.01_linux.run cuda是开源的么?下15分钟

重磅!云起无垠荣获“智能模糊测试赛道领航者”等多项殊荣

近日,以 “新质•真能力”(新质生产力,安全真能力)为主题的第四届数字安全大会正式召开。在此次大会上,数世咨询发布了《中国数字安全产业年度报告(2024)》、新质百强榜单以及国内首本《数字安全蓝皮书》。这些报告和榜…

操作系统精选题(四)(论述题)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀操作系统 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 前言 一、银行家算法的一道例题 二、页…

【NOI】C++程序设计入门四

文章目录 前言一、浮点型(float和double)1.float类型2.double类型 二、保留小数的方法方法一:方法二: 三、样题讲解问题1:1603. 冷饮的价格?问题2:1957. 求三个数的平均数问题3:1602…

爬数据是什么意思?

爬数据的意思是:通过网络爬虫程序来获取需要的网站上的内容信息,比如文字、视频、图片等数据。网络爬虫(网页蜘蛛)是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。 学习一些爬数据的知识有什么用呢&#x…

(PC+WAP)高端大气的装修装潢公司网站模板

(PCWAP)高端大气的装修装潢公司网站模板PbootCMS内核开发的网站模板,该模板适用于装修公司网站、装潢公司网站等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可;(PCWAP),同一个后台,数据即…

Vue2动态代理,换服务无须重启项目

1、痛点 当我们需要使用不同的服务器时,就需要手动修改vue.config.js中配置并重新启动项目。当项目越来越大时,会需要较长的时间来等待项目启动,如此反复,极大影响我们开发进度。 2、寻求解决方案 vue-cli 的代理是使用的http-p…

新勒索软件 Shinra 与 Limpopo 浮出水面

Shinra 勒索软件概览 Shinra 勒索软件的样本文件最早在 2024 年 4 月提交给公开的文件扫描服务。攻击者在部署和运行勒索软件前会先窃取受害者的数据,还会删除卷影副本以阻止数据恢复。 攻击者有时会使用亚文化的人物来进行命名,研究人员也怀疑 Shinra…

clion远程开发

clion远程开发 简要概括: 建立 SFTP 通讯,创建远程目录与本地目录的映射文件夹,就可以把本机文件夹中的文件用鼠标右键选中上全传,打开自动同步功能,后面更改文件就可以自动同步文件了。 一.新建SFTP远程链接服务 …

C++感受12-Hello Object 派生版

不变的功能,希望直接复用原有代码;变化的功能,希望在分开的代码里实现。 派生的基本概念和目的如何定义派生类以及创建派生对象派生对象的生死过程 0. 课堂视频 ff14-HelloObject-派生版 1. 派生的基本概念与目的 编程,或者说软…

无线领夹麦克风可以唱歌吗?推荐多款收音好的无线麦克风

如今是一个短视频营销飞速发展的时代,越来越多自媒体人通过短视频的方式来进行直播带货、生活Vlog、线上K歌等,记录下生活里那美丽的瞬间。不过也有不少新手视频创作者存在疑问:无线领夹麦克风可以唱歌吗? 答案是可以的&#xff0…

前端技术(二)——javasctipt 介绍

一、javascript基础 1. javascript简介 ⑴ javascript的起源 ⑵ javascript 简史 ⑶ javascript发展的时间线 ⑷ javascript的实现 ⑸ js第一个代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>…

SSM“点点通”餐饮点餐小程序-计算机毕业设计源码11264

摘要 随着中国经济的飞速增长&#xff0c;消费者的智能化水平不断提高&#xff0c;许多智能手机和相关的软件正在得到更多的关注和支持。其中&#xff0c;微信的餐饮点餐小程序更是深得消费者的喜爱&#xff0c;它的出现极大地改善了消费者的生活质量&#xff0c;同时&#xf…

电商价格监测:品牌控价维权的关键利器

品牌在进行控价时&#xff0c;所面对的是线上成千上万条的商品链接&#xff0c;如果仅依靠人工&#xff0c;根本无法做到准确且全面地完成电商价格监测工作。因此&#xff0c;一套准确率高的电商价格监测系统对于品牌的控价维权而言&#xff0c;其重要性不言而喻。 在形形色色的…

昇思25天学习打卡营第八天|保存与加载

背景 提供免费算力支持&#xff0c;有交流群有值班教师答疑的华为昇思训练营进入第八天了。 今天是第八天&#xff0c;前七天的学习内容可以看链接 昇思25天学习打卡营第一天|快速入门 昇思25天学习打卡营第二天|张量 Tensor 昇思25天学习打卡营第三天|数据集Dataset 昇思25天…

GPT-5:下一代AI如何彻底改变我们的未来

GPT-5 发布前瞻&#xff1a;技术突破与未来展望 随着科技的飞速发展&#xff0c;人工智能领域不断迎来新的突破。根据最新消息&#xff0c;OpenAI 的首席技术官米拉穆拉蒂在一次采访中确认&#xff0c;GPT-5 将在一年半后发布&#xff0c;并描述了其从 GPT-4 到 GPT-5 的飞跃如…