自动化学习-使用git进行版本管理

目录

一、为什么要学习git        

二、git是什么

三、git如何使用

1、git的下载安装和配置

2、git常用的命令

3、gitee远程仓库的使用

(1)注册

(2)创建仓库

(3)配置公钥(建立电脑和gitee的连接)

(4)连接远程仓库

(5)将本地代码提交到远程仓库

(6)将远程仓库代码克隆到本地

4、在pycharm中使用git

(1)配置git路径

(2)初始化本地仓库

(3)提交代码

(4)绑定远程仓库

(5)查看提交记录

(6)查看分支

(7)git操作面板

四、学习资料


一、为什么要学习git        

        最近在学习自动化过程中写了好几个版本的自动化测试脚本,就是想着说可以对比一下看看不同方式来写会有什么区别,但是刚开始用的是不同的文件和文件夹来管理,阅读起来很不方便,后面突然想到开发在写代码的时候肯定也要进行版本管理,于是就找到了git这样一个东西,了解之后发现这玩意确实很方便,不仅适合多个版本的代码管理,还适合多人协作,下面一起来学习一下吧:

二、git是什么

        git简单来说就是一个代码管理工具,它可以用来进行版本控制多人协作以及分支管理,也叫做分布式版本控制系统。在实际工作中开发人员使用git的流程如下图所示:

第一步:从远程仓库中克隆(clone)代码到本地仓库;
第二步:从本地仓库中检出(git checkout)一个分支进行修订;
第三步:将代码提交(git add)到暂存区;
第四步:将代码提交(git commit)到本地仓库;
第五步:将远程库代码拉(git pull)到本地仓库并自动进行合并,然后放到到工作区,确保本地仓库有远程仓库的所有代码
第六步:修改完成后,将代码推送(git push)到远程仓库

        

三、git如何使用

1、git的下载安装和配置

        git作为一个分布式版本控制系统,使用前肯定是要先进行下载安装,安装也比较简单,打开官网地址,下载好之后直接傻瓜一键式安装即可。

git下载地址:Git - 下载软件包

git安装教程(官方):Git - 安装 Git

        git安装好后需要配置使用者的用户名和邮箱,这个提交代码所需要的必备信息,所以需要配置一下全局变量,这样以后提交的时候就比较方便。配置方法如下:

        在电脑桌面单击鼠标右键,选择【open git bash here】打开git命令运行窗口;输入以下命令配置用户名和邮箱:

【git config --global user.name "用户名"】关联用户

【 git config --global user.email 邮箱】关联用户邮箱

【git config --list】查看配置是否设置成功

2、git常用的命令

        git其实是linux系统的创造者Linus Torvalds研发出来的,所以对于git的使用也可以用一系列的命令来进行操作,当然现在也有很多图形化界面操作更方便,但是作为程序员,学会命令的使用还是会显得专业一点,下面是git常用的一些命令:

修改配置:

【git config --global user.name "用户名"】关联用户

【 git config --global user.email 用户邮箱】关联用户邮箱

【git config --list】查看配置是否设置成功

本地仓库操作--提交:

【git init 】在当前目录初始化一个本地仓库,执行这步会生成一个.git的隐藏文件

【git add 文件名】提交指定文件到暂存区

【git add .】添加当前目录所有文件到暂存区

【git commit -m "提交内容说明"】提交代码到本地仓库(提交内容说明必须要写)

本地仓库操作--查看:

【git log】查看代码提交记录

【git reflog】查看所有的提交记录,包括被回退的版本

【git status】查看当前仓库中文件的状态

【git status -s】查看暂存区和工作区的文件状态

【git ls-files】查看暂存区的文件列表

【git diff】比较工作区和暂存区的版本内容差异

【git diff HEAD】比较工作区和当前版本库的内容差异

【git diff --cached】比较暂存区和当前版本库的内容差异

【git diff 分支1 分支2】比较不同分支的内容差异

【git diff HEAD~n HEAD】比较前n个版本和当前之间的差异(n不写则表示比较上一个版本和当前版本之间的差异)

本地仓库操作--回退:

【git reset --mixed 版本id】回退到某一个版本,回退之后工作区的文件保存,暂存区的文件会被删除

【git reset --hard 版本id】回退到某一个版本,回退之后工作区和暂存区的文件会被删除(慎用),删除后再次找到此版本使用此命令也能恢复

【git reset --soft 版本id】回退到某一个版本,回退之后工作区和暂存区的文件会保存

本地仓库操作--删除:

        执行完删除命令之后需要执行一次提交命令才能同步到仓库

【git rm 文件名】从工作区和暂存区同时删除

【git rm --cached 文件名】从暂存区删除,保留在当前工作区

【git rm -r *】递归删除某个目录下的所有子目录和文件

本地仓库操作--分支操作:

【git branch】查看当前所处分支

【git branch 分支名】创建分支

【git branch -d/D 分支名】删除分支,不能删除当前所在分支,只能删除当前分支之外的其他分支

【git checkout 分支名】切换到指定分支

【git checkout -b 分支名】切换到不存在的分支,相当于新创建一个分支

【git merge 需要合并的分支名称】合并分支,将其他分支内容合并到master分支,先切换到master分支再执行此命令。

生成公钥:

【ssh-keygen -t rsa】生成公钥

【cat ~/.ssh/id_rsa.pub】查看公钥

【ssh -T git@gitee.com】验证是否配置成功

关联远程仓库操作:

【git remote】验证本地仓库和远程仓库连接是否成功,结果返回远程仓库名既为成功

【git remote add  origin 远程仓库地址】建立本地仓库和远程仓库的连接,远程仓库地址需要从gitee中复制

【git clone 远程仓库地址 代码存放路径】克隆远程仓库代码到本地

【git pull】从远程仓库获取最新的代码并合并到本地

【git fetech 远程分支 本地分支】把远程分支更新的内容保存到本地

【git push】推送本地仓库代码到远程仓库

【git push --set-upstream origin master】推送本地代码并指定本地仓库的某个分支和远程仓库的某个分支进行关联

【git branch -vv】查看远程仓库和本地仓库关联的分支

3、gitee远程仓库的使用

(1)注册

        gitee是一个国内开源的远程仓库,既可以创建私有仓库,也能创建公有仓库,并且还有许多的项目资源,大家可以注册一个账号没事可以在上面多逛一逛。

        gitee网址:Gitee - 基于 Git 的代码托管和研发协作平台

(2)创建仓库

        点击新建仓库,只需要设置仓库名称仓库介绍和是否开源就行,仓库路径会自动生成,其他的先不要设置,不然会影响本地代码推送。

(3)配置公钥(建立电脑和gitee的连接)

第一步:现在本地生成一个公钥,然后复制

第二步:将本地生成的公钥粘贴到gitee中

第三步:验证是否连接成功,看到successfully就算是连接成功了。

(4)连接远程仓库

第一步:复制远程仓库地址

第二步:创建连接,输入命令【git remote add  origin 远程仓库地址】

第三步:验证连接是否成功,输入命令【git remote】,结果返回远程仓库名既为成功

(5)将本地代码提交到远程仓库

【 git push --set-upstream origin master】远程仓库没有东西的时候,第一次提交用这个命令,这个命令表示指定本地仓库的某个分支和远程仓库的某个分支进行关联

【git push】分支关联后就可以直接使用这个命令进行提交代码了,push代码之前先执行一下gitpull命令,看看是否存在冲突,有冲突则先解决冲突,解决后再提交

【git branch -vv】查看远程仓库和本地仓库关联的分支

(6)将远程仓库代码克隆到本地

第一步:打开gitee,打开对应项目点击克隆,复制克隆地址:

第二步:

a.首次获取远程仓库代码:输入克隆命令【git clone 项目地址】,若不指定目录则克隆文件会保存在当前目录下。

b.非首次获取远程仓库代码:

【git fetech 远程分支 本地分支】这个命令只会把远程分支更新的内容保存到本地,但是不会合并到本地的分支中

【git pull 远程分支 本地分支】这个命令将远程分支中更新的内容保存到本地并且更新本地当前所处的分支

4、在pycharm中使用git

(1)配置git路径

File-->settings-->version control(git)-->path to git executable(添加git运行路径)

(2)初始化本地仓库

VCS-->create git repository-->选择需要初始化的项目文件并点击确定

(3)提交代码

commit:提交到本地仓库

commit and push:提交到本地仓库和远程仓库(绑定远程仓库后才能使用)

注意:提交时必须要写备注,不写无法提交

(4)绑定远程仓库

Git -->push-->define remote-->输入远程仓库地址,并输入账号密码进行验证

(5)查看提交记录

(6)查看分支

(7)git操作面板

四、学习资料

        本文写的比较粗糙,下面是我学习过程中看到的视频和其他资料,有疑问的大家也可以去视频中看看。

git官方的文档:Git - Git 简史

git动画演示学习

黑马程序员Git全套教程

git从入门到精通3小时带你搞定git,玩转GitHub

git与pycharm交互 + GitHub开源项目获取 | python自学_哔哩哔哩_bilibili

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

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

相关文章

20250301在chrome中安装CRX猫抓

20250301在chrome中安装CRX猫抓 2025/3/1 18:08 百度:猫抓 CRX https://www.crx4chrome.com/crx/49597/ 猫抓 (cat-catch) Crx File 2.5.9 for Chrome (Latest Version) Get Latest Version of 猫抓 (cat-catch) from Web Store Developer Tools > cat-catch / E…

[LeetCode]day33 150.逆波兰式求表达值 + 239.滑动窗口最大值

逆波兰式求表达值 题目链接 题目描述 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 ‘’、‘-’、‘*’ 和 ‘/’ 。 每个操作数(运…

pnpm+monorepo实现前端公共函数、组件库

一、前言 1. pnpm pnpm 是前端包管理工具之一,常见的还有npm、yarn等,但pnpm由于安装速度快、磁盘占用低、内置支持monorepo等优势,所以更推荐使用。 1-1 包管理工具核心特点对比 特性pnpmnpmyarn安装速度🚀 快(基…

【计算机网络入门】初学计算机网络(八)

目录 1. S-W协议的信道利用率 2. GBN、SR协议的信道利用率 3.术语补充 3.1 滑动窗口协议 3.2 ARQ协议、连续ARQ协议 4. 信道划分介质访问控制 4.1 时分复用(TDM) 4.2 统计时分复用(STDM) 4.3 频分复用(FDM&a…

JVM基本概念及内存管理模型

一、JVM基本概念 JVM(Java Virtual Machine,Java 虚拟机)是 Java 程序运行的核心组件。它负责将 Java 字节码转换为特定平台的机器指令,并提供内存管理、垃圾回收、安全性等功能。JVM 的主要功能包括以下: 加载和执行…

Docker 学习(三)——数据管理、端口映射、容器互联

一、数据管理 容器中的管理数据主要有两种方式: 数据卷 (Data Volumes): 容器内数据直接映射到本地主机环境; 数据 卷容器( Data Volume Containers): 使用特定容器维护数据卷 1.…

解锁Egg.js:从Node.js小白到Web开发高手的进阶之路

一、Egg.js 是什么 在当今的 Web 开发领域,Node.js 凭借其事件驱动、非阻塞 I/O 的模型,在构建高性能、可扩展的网络应用方面展现出独特的优势 ,受到了广大开发者的青睐。它让 JavaScript 不仅局限于前端,还能在服务器端大展身手&…

我的ChatGPT怎么登不上?

近期,不少用户反馈在使用ChatGPT时遇到登录困难、连接超时等问题。本文将从技术角度分析常见原因,并提供合规、安全的解决方案,同时结合开发者实际需求推荐实用工具,助您高效应对登录障碍。 ChatGPT登录失败的常见原因 网络环境限…

小米手机如何录制屏幕?手机、电脑屏幕录制方法分享

大家最近有没有遇到想记录手机屏幕操作的情况? 比如精彩的游戏瞬间、有趣的视频教程,或者需要录制屏幕来制作演示材料。小米手机在这方面可是个好帮手,今天就来给你好好唠唠,小米手机如何录制屏幕,以及后续如何处理这…

【jenkins配置记录】

全局工具配置: D:\Program Files\Java\jdk1.8.0_281 D:\Program Files\Git\bin\git.exe E:\allure-2.13.2 2. GIT 3. 定时任务 H 8 * * 1-5 4. 构建触发器 5. 构建后操作 Allure Report 吐血记录:报告路径可以为 workspace 相对路径 6. 系统配置 em…

修改hosts文件,修改安全属性,建立自己的DNS

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

详解LSM树

目录 什么是LSM树 磁盘结构与顺序IO LSM树结构 LSM树的写入 SSTable合并 LSM树的读取 LSM树的删除 总结 什么是LSM树 LSM 树全名日志结构合并树(Log-Structured Merge Tree),是一种用于存储和管理数据的树状数据结构,常用…

3d投影到2d python opencv

目录 cv2.projectPoints 投影 矩阵计算投影 cv2.projectPoints 投影 cv2.projectPoints() 是 OpenCV 中的一个函数,用于将三维空间中的点(3D points)投影到二维图像平面上。这在计算机视觉中经常用于相机标定、物体姿态估计、3D物体与2D图…

Spring Boot集成Minio笔记

一、首先配置MinIO 1、MinIO新建Bucket&#xff0c;访问控制台如图 创建访问密钥(就是账号和密码) 二、集成mino添加Minio客户端依赖 1.maven构建方式在pom.xml引入jar <dependency><groupId>io.minio</groupId><artifactId>minio</artifactI…

github进不去,一直显示错误

1、进入网址Dns检测|Dns查询 - 站长工具 2、复制检测出来的任意一个ip 3、打开电脑的文件夹&#xff1a;C:\Windows\System32\drivers\etc 下的hosts文件下复制这个ip地址 20.205.243.166 4、winr 打开cmd&#xff0c;输入ipconfig/flushdns ipconfig/flushdns出现这个就可以…

【商城实战(2)】商城架构设计:从底层逻辑到技术实现

【商城实战】专栏重磅来袭&#xff01;这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建&#xff0c;运用 uniapp、Element Plus、SpringBoot 搭建商城框架&#xff0c;到用户、商品、订单等核心模块开发&#xff0c;再到性能优化、安全加固、多端适配&#xf…

BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测Matlab

BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测Matlab 目录 BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测Matlab分类效果基本介绍BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测一、引言1.1、研究背景和意义1.2、研究现状1.3、研究目…

Windows下使用ShiftMediaProject方法编译FFmpeg

Windows SDK 8.1版本不支持dxva vp9! 需要10.0.17134.0&#xff01;或者把config编译选项去掉 1.下载源码 https://github.com/ShiftMediaProject 2.创建ShiftMediaProject文件夹 把下载好的源码放入source 3.进入SMP执行 project_get_dependencies.bat 自动下载ffmepg依赖项…

C++ Primer 动态数组

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

第四十一:Axios 模型的 get ,post请求

Axios 的 get 请求方式 9.双向数据绑定 v-model - 邓瑞编程 Axios 的 post 请求方式&#xff1a;