Git安装及使用图文教程详解(附带安装文件)

news2024/9/28 3:23:53

Git安装及使用图文教程详解(附带安装文件)

原创:丶无殇  2023-06-26


文章目录

  • 下载安装
    • 下载
    • 安装
    • 验证安装成功
    • 版本查看
  • 基础指令
    • Git常用指令
    • 【首次必须】设置签名用户、邮箱
    • 1.初始化本地仓库
    • 2.查看本地库状态
    • 3.创建文件
    • 4.添加文件至暂存区
    • 5.提交本地库
    • 6.文件操作历史
      • 6.1.文件修改
      • 6.3.版本信息
    • 7.版本操作
      • 7.1.版本切换
      • 7.2.版本退回
    • 8.分支操作
      • 8.1.查看分支
      • 8.2.创建分支
      • 8.3.切换分支
      • 8.4.合并分支
        • 8.4.1.合并整个分支的修改
        • 8.4.2.合并部分提交的代码
      • 8.5.删除分支
      • 8.6.分支差异对比
    • 9.标签操作
      • 9.1.添加标签
      • 9.2.查看标签
  • 远程操作
    • 1.克隆远程仓库到本地
    • 2.查看当前远程别名
    • 3.拉取推送

下载安装

下载

本文使用v2.39.1.windows.1版本的软件

GitHub:Git-2.39.1-64-bit.exe

阿里云盘:Git-2.39.1-64-bit.exe

官网:https://git-scm.com/download/win

官网下载

安装

  1. 运行安装程序,点击Next
    1

  2. 选择安装路径后,点击Next
    2

  3. 选择需要的组件后,点击Next

  4. 设置开始菜单中的文件夹名称,默认为Git,点击Next
    4

  5. Git的默认编辑器,建议使用默认编辑器,点击Next
    5

  6. 设置默认分支名,建议选择Git决定,默认为master,点击Next
    6

  7. 修改Git环境变量,选择默认的仅在Git Bash中使用,不修改环境变量,点击Next
    7

  8. 使用默认的OpenSSH即可,点击Next
    8

  9. 选择后台客户端连接协议,选默认的OpenSSL协议,然后点击Next
    9

  10. 配置换行符,Windows使用CRLF,Linux使用LF,点击Next
    10

  11. 配置Git Bash终端类型,点击Next
    11

  12. 选择Git pull合并的模式,选择默认模式,点击Next
    12

  13. 选择凭据管理器,默认使用跨平台凭据管理器,点击Next
    13

  14. 其他配置,选择文件缓存机制,点击Next
    14

  15. 实验室功能,一般都不勾选,最后点击Install安装:
    15

  16. 安装中,不要操作,等待完成:
    16

  17. 直到出现以下画面,安装完成!
    17

验证安装成功

执行程序,或者在桌面空白处右击,选择Git Bash Here
选择git bash

点击后,会打开Git编辑窗口:
Git控制台

版本查看

输入git -v或者git --version后回车,可以查看当前版本,显示当前版本信息
版本查看

基础指令

以下介绍经常使用的功能

Git常用指令

指令作用
【首次必须】git config --global user.name 用户名设置签名用户
【首次必须】git config --global user.email 邮箱设置签名邮箱
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m " 日志信息 " 文件名提交到本地库
git reflog/log查看历史记录
git reset --hard 版本号版本切换

【首次必须】设置签名用户、邮箱

设置用户名、设置邮箱名、查询用户名、查询邮箱名:

git config --global user.name USERNAME	//设置用户名
git config --global user.email EMAIL	//设置邮箱
git config --global user.name			//查询用户名
git config --global user.email			//查询邮箱
git config -l							//查看全部配置信息
git congig --global --list|-l			//查看全局信息

效果如图:
设置邮箱

此配置文件.gitconfig可以在C:\Users\Administrator中看到:
配置信息

设置签名的作用主要为了区分操作者的身份,用户的签名在每次的提交记录中能看到

*:必须设置用户签名,否则无法提交代码

1.初始化本地仓库

指令:git init

会生成.git文件夹,如果没有显示,需要勾选文件显示设置中的:显示隐藏文件夹
隐藏文件

初始化完成后,此路径会被标记为master主分支

2.查看本地库状态

指令:git status

通过这个指令可以查看当前文件夹内的文件状态,
查看状态

3.创建文件

可以手动添加文件进来,也可以使用指令操作,详情参考:创建文件指令

此处演示vim创建的方式

指令:vim a.txt,然后按i进入编辑模式,按Esc后yy复制,p粘贴
vim操作

编辑完成,按Esc后输入:wq退出,此时使用ll指令,显示文件,会发现已经创建了a.txt文件

然后查看文件内容,使用cat a.txt显示
使用cat查看

此时使用git status查看状态,会发现文件还没有提交,也不在暂存区(未被追踪的文件)
未提交状态

4.添加文件至暂存区

指令:git add FILENAME

比如添加刚刚的a.txt到暂存区,可以使用指令:git add a.txt

如果需要添加所有文件,可以使用指令:git add .
添加文件

绿色字体上面提示了如何清除暂存区的文件,使用指令:git rm --cached <filename>

移除暂存区文件后,git状态回到未添加暂存区的状态:
移除暂存区

5.提交本地库

指令:git commit -m "MESSAGE" (FILENAME)

其中-m "MESSAGE"是提交信息选项
提交本地库

提交完成后,git status中的工作树是干净的

其中,第4点和第5点可以合并为一条指令:git commit -am "MESSAGE"

6.文件操作历史

6.1.文件修改

将文件a.txt进行修改,做好修改的标记:
文件修改

查看状态,文件被标记显示为已修改,然后提交到暂存区
修改后暂存

6.3.版本信息

查看版本信息:git reflog (-n)

查看详细信息:git log (-n)

reflog可查看所有历史记录,包括提交、切换和删除,log可查看详细历史记录到当前HEAD所指向的记录

可以多尝试几次后查看
查看详细信息

如果历史记录比较多,可以通过-n来显示前n行记录,当记录很多的时候,会显示:,按回车可以继续显示,按Q退出

如果觉得git log显示的信息太多,可以使用git log --pretty=oneline

7.版本操作

7.1.版本切换

指令:git reset --hard 版本号|HEAD@{index}

比如多次提交后,发现需要回到之前提交的版本去做,就可以使用版本切换,当前a.txt如下:
版本切换

比如标记为HEAD@{2},这里的表示距离当前版本2次前的记录,版本号为a0f42be

切换后如下:
切换版本后

HEAD已经指向版本号a0f42be,并且a.txt中已经变成之前的内容

7.2.版本退回

如果要退回上一个版本,可以使用git reset --hard HEAD^

如果退回上两个版本,可以使用git reset --hard HEAD^^

还可以使用个数n来,可以使用git reset --hard HEAD~n

未提交的操作版本,可以使用git checkout -- 文件名(路径),也可以使用git rm --cached 文件名(路径)删除缓存区文件

8.分支操作

8.1.查看分支

指令:git branch -v

输入指令查看当前分区的分支,*表示当前所在分区
查看分支

8.2.创建分支

指令:git branch 分支名

创建新的分支,非当前分区时候,前面没有*标记
创建分支

8.3.切换分支

指令:git checkout 分支名|版本号

切换分支,激活的分支高亮显示,并且命令提示符末尾分支名也变了
切换分支

8.4.合并分支

8.4.1.合并整个分支的修改

指令:git merge 分支名

分支名合并到当前分支,如果没有冲突,则可以合并成功,如果有冲突,需要人为修改后提交合并
合并操作

解决冲突

首先查看两个冲突的文件:
解决冲突

然后合并之后,查看这个文件,会有特殊标记,删除特殊标记,决定要使用的内容

特殊符号:

<<<<<< HEAD				//需要删除
当前分支的代码				//A:选择一个保留
=======					//需要删除
合并过来的代码				//B:选择一个保留
>>>>>>> 合并的分支		//需要删除

AB两处冲突的内容,选择好保留的记录,其他的删除,指令模式输入DD可以快速删除一行,操作完成后保存

文件显示如下:
文件显示

保存好了之后重新提交既可:
保存后提交

8.4.2.合并部分提交的代码

指令:git cherry-pick 提交ID1 提交ID2…

首先切换到需要合并到的分支,然后执行指定的提交ID,可以是多个分支,当没有冲突的时候,合并完成,当有冲突的时候,会提示如下:
提示冲突

需要按照前面内容修改冲突内容后再次提交,也可以撤销此次提交操作,撤销指令:git cherry-pick --abort

冲突文件修改好了之后提交,会有cherry-pick的标记:
重新提交后

8.5.删除分支

指令:git branch -d 分支名
删除分支

8.6.分支差异对比

指令:git diff 当前分支 其他分支

对比分支的文件差异,通过红色绿色显示出来:
分支差异

9.标签操作

9.1.添加标签

指令:git tag 版本号

一般版本可以使用v1.0.1这种格式

9.2.查看标签

指令:git tag可以查看标签列表

如果需要查看当前标签的详细信息,可以使用:git show 版本号
查看标签

其他操作

git tag查看所有标签

git tag 版本号给当前最新的commit打上标签

git tag 版本号 提交ID给指定的commit-id打上标签

git tag -a 版本号 -m 描述信息 提交ID给指定的commit-id打上标签并附上说明文字

git tag -d 版本号删除标签

远程操作

1.克隆远程仓库到本地

指令:git clone 远程地址
克隆仓库

将远程仓库克隆到本地,之后可以像前面操作本地仓库一样操作

2.查看当前远程别名

指令:git remote -v

查看当前所有远程地址别名

指令:git remote add 别名 远程连接

远程连接起别名

其他操作

查看远程仓库:git remote -v

添加远程仓库:git remote add [name] [url]

删除远程仓库:git remote rm [name]

修改远程仓库:git remote set-url --push [name] [newUrl]

3.拉取推送

拉取远程仓库:git pull [remoteName] [localBranchName]

推送远程仓库:git push [remoteName] [localBranchName]

将本地的分支提交到远程仓库,并作为master分支或者其他分支

可使用:git push origin 本地分支:远程分支

推送到远程一般使用:git push origin master,第一次会提示登录,需要登录相关账号
第一次需要登录

然后显示类似这样就是成功了:
登录成功

至此,教程结束!
如有补充,后续将进行修改。


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

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

相关文章

【DCT变换】Python矩阵运算实现DCT变换

一、前言 DCT变换&#xff08;离散余弦变换&#xff09; 是数字图像处理过程中广泛采用的一种操作&#xff0c;用于将空域的图像转换为频域表示&#xff0c;从而能够更有效地进行压缩、滤波和特征提取等处理。它在许多应用领域中发挥着重要的作用&#xff0c;尤其在图像和视频…

感知机(Perceptron)的原理及实现

1.感知机&#xff08;Perceptron&#xff09;的原理及实现 声明&#xff1a;笔记来源于《白话机器学习的数学》 感知机是接受多个输入后将每个值与各自权重相乘&#xff0c;最后输出总和的模型。 单层感知机因过于简单&#xff0c;无法应用于实际问题&#xff0c;但它是神经网络…

一文让你搞定接口测试

一、什么是接口测试&#xff1f; 所谓接口&#xff0c;是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试&#xff0c;则是通过接口的不同情况下的输入&#xff0c;去对比输出&#xff0c;看看是否满足接口规范所规定的功能、…

二叉树知识小结

思维导图&#xff1a; 一&#xff0c;树 树&#xff0c;这是一种对计算机里的某种数据结构的形象比喻。比如这种: 这种&#xff1a; 这种&#xff1a; 这几种都是树形结构。在百度百科中对树形结构的定义如下&#xff1a; 树形结构指的是数据元素之间存在着“一对多”的树形关系…

津津乐道设计模式 - 建造者模式详解(教你如何构造一个专属女友)

&#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Micro麦可乐的博客 &#x1f425;《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程&#xff0c;入门到实战 &#x1f33a;《RabbitMQ》…

接口测试断言详解(Jmeter)

接口测试是目前最主流的自动化测试手段&#xff0c;它向服务器发送请求&#xff0c;接收和解析响应结果&#xff0c;通过验证响应报文是否满足需求规约来验证系统逻辑正确性。接口的响应类型通过Content-Type指定&#xff0c;常见的响应类型有&#xff1a; • text/html &…

Android Jetpack Compose之轻松添加分隔线:Divider组件

引言&#xff1a; 在构建用户界面时&#xff0c;有效地组织和分隔内容是至关重要的。这就是Android Jetpack Compose的Divider组件派上用场的地方。在这篇博客中&#xff0c;我们将详细了解Divider组件的功能和用法&#xff0c;并通过示例展示如何将其融入您的Compose UI。 Je…

自动化测试和性能测试面试题精选

自动化测试相关 包含 Selenium、Appium 和接口测试。 1. 自动化代码中&#xff0c;用到了哪些设计模式&#xff1f; 单例模式工厂模式PO模式数据驱动模式 2. 什么是断言&#xff1f; 检查一个条件&#xff0c;如果它为真&#xff0c;就不做任何事&#xff0c;用例通过。如果…

8年资深测试总结,自动化测试成功实施,你不知道的都在这...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 什么项目&#xf…

python:并发编程(二十七)

前言 本文将和大家一起探讨python并发编程的实际项目&#xff1a;Locust性能测试&#xff08;篇一&#xff0c;共N篇&#xff09;&#xff0c;系列文章将会从零开始构建项目&#xff0c;并逐渐完善项目&#xff0c;最终将项目打造成适用于高并发场景的应用。 本文为python并发…

分支定价算法求解VRPTW问题(代码非原创)

参考文献&#xff1a;微信公众号“程序猿声”关于分支定价求解VRPTW的代码 A tutorial on column generation and branch-and-price for vehicle routing problems 框架 对于VRPTW问题&#xff0c;先做线性松弛&#xff0c;调用列生成算法&#xff08;一种解决大型线性规划问…

Docker网络之Network Namespace

Docker网络中相关的命令非常少&#xff0c;但需要掌握的底层原理却又非常多。 1.Network Namespace Docker网络底层原理是Linux的Network Namespace&#xff0c;所以说对于Linux Network Namespace的理解对Docker网络底层原理的理解就显得尤为重要了。 2.需求 通过手工的方式…

ICC2与INNOVUS命令对照表

ICC2与INNOVUS命令对照表 TargetICC2INNOVUS设置多CPU set_host_options -max_cores16 setMultiCpuUsage -localCpu 16 获得物体的属性 get_attribute

DSP,国产C2000横空出世,QX320F280049,替代TI 的 TMS320F280049,支持国产

一、特性参数 1、独立双核&#xff0c;32位CPU&#xff0c;单核主频400MHz 2、IEEE 754 单精度浮点单元 &#xff08;FPU&#xff09; 3、三角函数单元 &#xff08;TMU&#xff09; 4、1MB 的 FLASH &#xff08;ECC保护&#xff09; 5、1MB 的 SRAM &#xff08;ECC保护&…

全网最全,Selenium自动化测试POM模式总结(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 在UI自动化测试中…

Python+Selenium+Unittest 之selenium7--元素定位6-CSS定位1(定位所有、定位class、定位id、tag定位)

目录 一、CSS简介 二、 定位方式 三、实践操作 1、*&#xff08;定位所有元素&#xff09; 2、. &#xff08;定位class属性&#xff09; 3、#&#xff08;定位id属性&#xff09; 4、tag定位 一、CSS简介 CSS属于是一种计算机语言&#xff0c;主要是用来为结构化文档的外…

软件测试期末速成(背题家出列!)

文章目录 一、前言二、选择题&#xff08;15 X 2&#xff09;1、概述2、相关概念3、黑盒测试4、白盒测试5、单元测试6、集成测试7、系统测试8、自动化测试9、实用软件测试技术 三、判断题&#xff08;10 X 1’&#xff09;四、简答题&#xff08;4 X 5&#xff09;1、软件测试生…

一文学会Nginx做图片服务器

Nginx做图片服务器 前言&#xff1a; Nginx是一个高性能的HTTP和反向代理web服务器,以及负载均衡器。根据nginx是高性能的http服务器&#xff0c;因此可以用作图片服务器使用。 本案例是在docker安装nginx来操作的。 什么是Nginx? Nginx是一款高性能的Web服务器和反向代理服…

linux入门之浅谈shell及权限的概念

文章目录 目录 文章目录 一、shell命令以及运行原理 二、linux权限的概念 1.Linux权限管理 a.文件访问者的分类&#xff08;人&#xff09; b.文件类型和访问权限 1&#xff09;文件类型 2&#xff09;基本权限 3&#xff09;文件权限值的表示方法 4)文件访问权限的相…

docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记

Oracle 19c测试环境快速搭建 安装 # 下载镜像 19.3.0.0.0 docker pull registry.cn-hangzhou.aliyuncs.com/laowu/oracle:19c # 创建文件 mkdir -p /mymount/oracle19c/oradata # 授权&#xff0c;不授权会导致后面安装失败 chmod 777 /mymount/oracle19c/oradatadocker run …