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

相关推荐
正经教主9 小时前
【FDE系列】阶段2:Day 45(up详细版):综合实战 — Docker + Nginx + Git 完整部署与本周收官
人工智能·git·nginx·docker·fde
_小许_1 天前
AI IDE 与 Agent Harness:一次说清 Cursor、Codex 该怎么选
ide·人工智能·ai编程·cursor·codex
Change!!1 天前
git小乌龟,切换到新分支处理
git·git切到新分支,旧代码贮藏
喆星时瑜1 天前
探索 Anaconda 中的 JupyterLab、Jupyter Notebook、iPython 解释器(Qt 控制台)和 Spyder IDE
ide·jupyter·ipython
Joy T2 天前
voice-dump-to-todo:把混乱的语音整理成可执行待办,一个实用的 Agent Skill
ide·macos·语音识别·xcode·任务管理·自研skill
人工智能导论实践课2 天前
【GUI桌面开发3】PyCharm配置外部工具
ide·python·pycharm
LannyChung2 天前
PowerShell 下 git log 中文乱码的完整排查与解决
windows·git
import_random2 天前
[git]本地main,origin/main,远程main(关系2)
git
golang学习记2 天前
Zed Git重大更新:目录级对比支持分栏Diff
git·vscode·zed
JPower_mr.g2 天前
SmartCall v1.0.9 发布:智能体知识库上线,让 AI 客服先查资料再回答
java·ide·人工智能·macos·架构·开源·xcode