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上远程仓库的检查,我们知道我们完成了对分支的合并。

相关推荐
德彪稳坐倒骑驴10 小时前
Git常用命令
git
无限进步_11 小时前
【C语言&数据结构】对称二叉树:镜像世界的递归探索
c语言·开发语言·数据结构·c++·git·算法·visual studio
Master_清欢11 小时前
jupyter新增行数
ide·python·jupyter
qq_54702617913 小时前
Git 使用指南
git
XiaoHu020715 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
*才华有限公司*15 小时前
RTSP视频流播放系统
java·git·websocket·网络协议·信息与通信
ayaya_mana16 小时前
VS Code 远程开发:SSH连接与远程资源管理器的配置
linux·ide·windows·vscode·远程资源管理
spencer_tseng16 小时前
eclipse ALT+SHIFT+A
java·ide·eclipse
juelianhuayao16 小时前
Git错误提交后如何快速删除本次commit
git
chen<>17 小时前
Git原理与应用
大数据·git·elasticsearch·svn