git使用教程14-Pycharm版本控制与分支管理

一、版本控制

1、版本控制介绍


(1)Version Control System 版本控制系统,简称VCS。

(2)版本控制系统分类:

集中式版本控制工具:SVN
分布式版本控制工具:Git

2、Pycharm 支持的版本控制工具种类


Git:免费、开源的分布式版本控制系统。
Mercurial:也是一种分布式版本控制系统,采用 Python 语言实现。
Subversion(SVN):简称SVN,集中式的版本管理系统。
Perforce(P4) :简称P4, 是一款非常优秀的商业化版本管理工具,Pycharm专业版才有。

 3、Pycharm 版本控制相关界面

(1)版本控制界面(VCS)

(2)Git 命令界面(配置好git 后显示)

(3)版本控制设置界面

Pycharm配置git
  • Window Pycharm配置git

在使用pycharm进行版本管理之前,我们要先进行git信息的配置。

File -> settings -> Version Control

在这里插入图片描述
按步骤配置完成后,点击Test测试是否配置成功。

Pycharm安装gitee插件


pycharm没有直接集成gitee,需要先安装gitee插件,步骤如下:

在Setting中选择Plugins
在Marketplace下搜索框中搜索git
点击Install进行下载安装
安装完后点击重启 pycharm


Pycharm关联gitee账号
File -> Setting -> 搜索gitee
点击加号,选择Login To Gitee


输入账号密码进行登陆


本地项目分享到gitee

选择VCS -> 选择Share Project On Gitee

Repository name上传的项目名(也就是在Gitee上创建的库的名称),根据实际情况这里可以改也可以不改,勾选上私有,点击Share,这时候仓库就创建成功了。

在Gitee查看仓库是否创建成功。

创建已经存在,证明创建成功了

commit文件,将文件提交到提交到本地仓库,可以输入一下我们的提交信息,方便记录

点击commit按钮

commit之后,我们需要通过push将本地仓库内容推送到远程仓库

完成push之后,我们可以在Gitee上查看是否已经推送成功

这样我们就完成了本地项目通过git来进行版本控制的工作。

代码版本管理


现在敏捷开发的模式下,分支开发,主干发布的情况是普遍存在的,我们如何来实现对代码版本的有效管理?pycharm给我们提供了这样的功能。

单分支存在的问题


代码中至少有一个分支,就是主干分支或称主分支Master,默认都是在主分支上开发

上图图中绿色节点表示每一个提交commit

项目往往是并行多人开发的,都在主分支上克隆,然后修改提交,那么主分支就会存在大量的冲突,甚至有一些不完善代码提交,主分支就混乱不堪,不可维护了。

再一个,如果一次提交后,需要发布一个版本,这个版本以后就需要独立维护、开发,而主分支还需要继续发展,这时候就需要引入多分支来对项目进行管理。

多分支创建和使用


进行多分支管理时,我们需要坚持下列原则

分支名必须唯一
不能以 _ 开头
可以使用 / 但是不能以它结尾,被它分割的名称不能以 . 开头
不能包含任何空白字符,Git的特殊符号


创建新分支
查看当前所处分支 git status
我们可以通过命令或者在界面上查看自己当前所处分支

创建新分支


注:如果勾选了检出分支,会切换到创建的新分支

现在我们要将新的脚本上传到新建的分支上,比如demo2.py

将提交后的代码推送到远程的dev分支

切换到master分支,将dev分支合并到master分支上,并推送至远程master分支

将dev的代码合并到master上,这样就会实现dev分支总是开发中的代码,dev测试、审查后合并master中,master分支都是稳定的代码,可以发布

通过对Gitee上远程仓库的检查,我们知道我们完成了对分支的合并。

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

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

相关文章

Windows安装MySQL8.0详细步骤

目录 一、官网下载MySQL二、将压缩包解压到没有中文和空格的目录下三、设置配置文件四、配置环境变量五、安装初始化mysql服务 一、官网下载MySQL 进入MySQL官网:https://downloads.mysql.com/archives/community/,下载 Windows (x86, 64-bit), ZIP Arch…

项目管理中,项目经理如何搞定跨部门沟通与协作?

在项目管理中,跨部门沟通是一项至关重要的任务。项目经理作为项目的核心协调者,需要确保不同部门之间的顺畅沟通,以推动项目的顺利进行。项目经理如何搞定跨部门沟通? 实际案例: 某公司正在开发一款智能家居系统&am…

深入探索Docker数据卷:实现容器持久化存储的完美方案(下)

🐇明明跟你说过:个人主页 🏅个人专栏:《Docker入门到精通》 《k8s入门到实战》🏅 🔖行路有良友,便是天堂🔖 目录 四、Docker数据卷的高级管理 1、数据卷的生命周期管理 2、数据…

学习Android的第二十天

目录 Android Toast 吐司 常量 常用方法 例子 Android Notification 状态栏通知 Notification 的基本布局 扩展布局 Notification ( 状态栏通知 ) 相关的方法 例子: 参考文档 Android AlertDialog 弹出框 Android Dialog 继承图谱 AlertDialog 几种常…

如何做代币分析:以 CRO 币为例

作者:lesleyfootprint.network 编译:Mingfootprint.network 数据源:CRO Token Dashboard (仅包括以太坊数据) 在加密货币和数字资产领域,代币分析起着至关重要的作用。代币分析指的是深入研究与代币相关…

MySQL数据库主从复制与读写分离(一)

目录 前言 主从复制设置 配置主服务器 1. **编辑配置文件**: 2. **重启MySQL服务**: 3. **创建复制用户**: 4. **记录二进制日志文件位置**: 配置从服务器 1. **编辑配置文件**: 2. **重启MySQL服务**&#x…

【Python】进阶学习:pandas--rename()用法详解

【Python】进阶学习:pandas-- rename()用法详解 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的…

nginx代理minio教程 避坑过的教程 避开SignatureDoesNotMatch

本次教程使用的是单机minio进行演示,集群minio也和这个差不多。 按照这个教程,可以避开nginx代理minio之后,只能访问文件,但是通过预签名url上传文件就会报SignatureDoesNotMatch的坑 暂定如下: 你已经下载好miniom…

Kubernetes operator 零散知识篇【持续更新中】

云原生学习路线导航页(持续更新中) 本文是 Kubernetes operator学习 系列零散知识篇,在学习过程中发现 operator开发 有很多零碎的知识,所以单独用一篇文章记录Kubernetes operator学习系列 快捷链接 Kubernetes operator 前置知识…

基于SpringBoot的物业管理系统

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一 、设计说明 1.1 研究…

Springboot 过滤器、拦截器、全局异常处理

Springboot 过滤器、拦截器、全局异常处理 一 过滤器(Filter) 过滤器是JavaWeb三大组件(Servlet,Filter,Listener)之一。 Filter可以把对资源的请求拦截下来,从而实现一些功能。 注意&#…

低代码工具APEX的入门使用(未包含安装)

第一次使用APEX是2019年,这个技术成名已久只是我了解的比较晚。请看Oracle ACE的网站,这就是用APEX做的。实际上有一次我看O记的人操作他们的办公流程,都是用APEX做的。 那一年,我用APEX做了一个CMDB的管理系统。那时候还没有流行…

美摄科技实时语音数字人解决方案

随着科技的飞速发展,数字人技术已经逐渐渗透到我们生活的各个角落。作为数字人技术的先驱者,美摄科技凭借其卓越的实时语音数字人解决方案,正引领着企业步入一个全新的交互时代。 美摄科技的实时语音数字人解决方案,是基于语音和…

为什么在下一个 IT 项目中选择使用 PostgreSQL

在数据库管理系统这个充满活力的领域中,为你的项目选择合适的平台是一项至关重要的决策。面对众多可选项,每个选项都针对特定的需求,做出选择可能会是一项艰巨的任务。这篇博客将概述为什么 PostgreSQL 可能是你正在寻找的关系数据库解决方案…

HCIA-Datacom题库(自己整理分类的)_33_DHCP协议多选【7道题】

1.使用动态主机配置协议DHCP分配IP地址有哪些优点? 可以实现IP地址重复利用 工作量大且不好管理 配置信息发生变化(如DNS),只需要管理员在DHCP服务器上修改,方便统一管理 避免IP地址冲突 2.网络中部署了一台DHCP服务器,但是管理员发现部分主机并没有正确获取到该DHCP服务…

产品说明书模板帮你写好了,快来抄作业

想要写好产品说明书,想在网络上参考,信息繁杂且各有不同,东拼西凑也写不出一个好的产品说明书。这时候,如果有产品说明书模板,不仅可以可以提高工作效率,还能保持产品说明书的一致性、提供参考和指导&#…

Mysql删除重复项:力扣196. 删除重复的电子邮箱

题目链接:196. 删除重复的电子邮箱 - 力扣(LeetCode) 题目描述 sql语句 # Write your MySQL query statement below delete a from person as a inner join person as b where a.email b.email and a.id > b.id 思路:内连接…

Windows下JDK下载、配置Java环境变量配置及多个JDK使用

Windows下JDK下载、配置Java环境变量配置及多个JDK使用 1. Windows下配置Java-JDK环境变量 1.1 下载Windows版本JDK 下载地址:(https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) 1.2 Windows下安装JDK 双击进行安装 下一步&#xf…

3.8焕新周什么值得入手?索尼耳机选购指南帮你挑

一年一度的女王节活动即将来临,春暖花开好时候,女生们的购物欲想必也开始蠢蠢欲动。如果想要购入一款降噪耳机,索尼这个品牌是你必须要考虑的选择之一。索尼作为在音频行业耕耘70余年的音频世家,秉持“For The MUSIC为音乐而生”的…

Leetcode面试经典150题(一)

27. 移除元素 public int removeElement(int[] nums, int val) {int res 0;for (int i 0; i < nums.length; i) {if(nums[i]!val){nums[res] nums[i];}}return res;} 26. 删除有序数组中的重复项 class Solution {public int removeDuplicates(int[] nums) {int j 0;fo…