PyCharm 集成 Git

目录

1、配置 Git 忽略文件

2、定位Git

3、使用pycharm本地提交

3.1、初始化本地库

3.2、添加到暂存区

3.3、提交到本地库

3.4、切换版本

4、分支操作

4.1、创建分支

4.2、切换分支

4.3、合并分支

5、解决冲突

1、配置 Git 忽略文件

作用:与项目的实际功能无关,不参与服务器上部署/实际代码的执行。把它们忽略掉能够屏蔽 IDE 工具之 间的差异。

配置步骤:

1、安装.ignore插件

  • File --- Setting --- Plugins --- 输入.ignore --- install【安装.ignore插件】

2、创建.gitignore文件

  • File --- New --- .ignore file --- .gitignore file (Git) --- 创建.gitignore文件

3、编辑.gitignore文件

  • 打开.gitignore文件,此时系统已经默认忽略了某些文件;也可以手动添加或删除要忽略的文件。

.gitignore 文件,每行的忽略规则的语法如下:

  • 空格不匹配任意文件,可作为分隔符,可用反斜杠转义
  • #开头:标识注释,可以使用反斜杠进行转义
  • ! 开头:标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义
  • / 结束:只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
  • / 开头:匹配文件
  • 如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录
  • ** 匹配多级目录,可在开始,中间,结束
  • ​​? ​​通用匹配单个字符
  • [] ​​通用匹配单个字符列表

常用匹配示例:

  • bin/ :忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
  • /bin :忽略根目录下的bin文件
  • /*.c :忽略 cat.c,不忽略 build/cat.c
  • debug/*.obj : 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
  • **/foo : 忽略/foo, a/foo, a/b/foo等
  • a/**/b : 忽略a/b, a/x/b, a/x/y/b等
  • !/bin/run.sh : 不忽略 bin 目录下的 run.sh 文件
  • *.log : 忽略所有 .log 文件
  • config.php : 忽略当前路径的 config.php 文件

4、.gitignore文件更改后不生效怎么办?

原因:新增的忽略文件只对工作区生效,对在暂存区的文件、本地仓库、远程仓库的文件是无效的,所以最好在新建项目之初就新建忽略文件。

解决办法:

  • 1、先删除暂存区的文件
  • 2、再使用命令 git add . 将本地文件添加到暂存区中
  • 3、然后再提交到本地仓库
  • 4、最后再推送到远程仓库

git rm -r --cached .
git add .
git commit -m "update .gitignore"

5、pycharm中使用git后的各文件颜色说明:

  • 被.ignore忽略的文件,颜色是:黄色
  • 在本地工作区的文件,颜色是:红色
  • 添加暂存区的文件,颜色是:绿色
  • 提交到本地仓库的文件,颜色是:变成正常色 白色
  • 推送到远程仓库的文件,颜色是:白色

2、定位Git

1、File->Settings->Git

3、使用pycharm本地提交

3.1、初始化本地库

1、VCS->Create Git Repository

2、选择需要初始化本地库的文件

3、初始化成功后所有文件颜色变成:红色 所有文件待添加到暂存区

3.2、添加到暂存区

1、右键项目->Git->Add 将项目添加到暂存区

2、可以看到项目颜色变成绿色,说明已经添加到暂存区了

3.3、提交到本地库

1、右键项目->Git->Commit Directory 将项目提交到本地仓库

2、选择需要提交的项目,并备注提交信息。

3.4、切换版本

1、在 pycharm 的左下角,点击 Git,然后点击 Log 查看版本

2、选项需要切换的历史版本->右键->Checkout Revision (对应的版本号的前8位)

3、查看切换版本是否成功

  • 切换之前的内容和指针指向情况

  • 切换后的内容和指针指向情况

4、分支操作

4.1、创建分支

1、项目右键->Git->New Branch 或者 右下角版本号->New Branch

2、填写分支名称,创建 hot-fix 分支。

4.2、切换分支

1、项目右键->Git->Bramches->选择需要切换的分支->点击“>”->点击Checkout

或者 点击右下角hot-fix分支->点击需要切换的分支->点击Checkout 进行分支切换

 2、查看分支是否切换成功

4.3、合并分支

1、在 pycharm 窗口的右下角,将 hot-fix 分支合并到当前 master 分支。

  • 点击右下角master分支->点击hot-fix分支->点击Merge Selected into Current 进行分支合并
  • 如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动 提交本地库。

5、解决冲突

注意:在实际工作中,在本地合并分支时,通常需要先切换到目标分支(如master),然后拉取该分支最新的代码,再进行合并操作。

1、如图所示,如果 master 分支和 hot-fix 分支都修改了代码,在合并分支的时候就会发生 冲突。

注意:修改文件一定要先提交到本地仓库,然后切换到master分支,最后把hot-fix分支合并到master分支,再把合并后的代码提交到本地仓库

2、切换搭配master 分支,然后合并 hot-fix 分支,就会发生代码冲突。

3、点击Merge按钮,手动合并代码

4、手动合并完代码以后,点击右下角的 Apply 按钮。

5、手动合并完成后,需要手动提交到本地仓库

  • 过程同上:先添加到暂存区,然后提交到本地仓库

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

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

相关文章

问题:幂等性 分布式session

web项目中请求线程到service层的时候远程调用服务之前是串行化执行每个任务都要get阻塞等待任务完成,举例当用户在购物车页面点击去结算就会请求后台toTrade请求获取订单确认的详情数据并渲染到订单详情页,现在在toTrade请求中使用异步任务编排Completab…

Linux下安装mysql8.0(以tar.xz包安装--编译安装)

前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访! Linux下安装mysql8.0(以tar.xz包安装--编译安装)https://myweb.myskillstree.cn/126.html 目录 一、下载对应自己glic版本的MySQL …

1.基于python的单细胞数据预处理-降维可视化

目录 降维的背景PCAt-sneUMAP检查质量控制中的指标 参考: [1] https://github.com/Starlitnightly/single_cell_tutorial [2] https://github.com/theislab/single-cell-best-practices 降维的背景 虽然特征选择已经减少了维数,但为了可视化&#xff0…

电气原理图入门要点和难点具体应用详解

学习电气原理图可以让你理解电气系统的基本组成和工作原理。 以下是入门电气原理图的一些基本步骤: 1.了解基本符号: 电气原理图中有很多标准符号代表不同的电气元件,比如电源、电阻、电容、电感、开关等。你需要先了解这些符号以及它们的含义。 2.学习电路图的结构: 电路图…

C++语法|智能指针的实现及智能指针的浅拷贝问题、auto_ptr、scoped_ptr、unique_ptr、shared_ptr和weak_ptr详细解读

文章目录 1.自己实现智能指针智能指针引起的浅拷贝问题尝试定义自己的拷贝构造函数解决浅拷贝 2.不带引用计数的智能指针auto_ptrscoped_ptrunique_ptr(推荐) 3.带引用计数的智能指针模拟实现引用计数shared_ptr和weak_ptr循环引用(交叉引用&…

DDD架构理论详解

文章目录 一、概念入门1. 概念简介2. DDD的核心理念3. 范式4. 模型5. 框架6. 方法论7. 软件设计的主要活动 二、DDD核心理论1. Domain领域层都包含什么?2. 聚合、实体和值对象3. 仓储,封装持久化数据4. 适配(端口),调用…

AI应用案例:新闻文本分类

随着科学技术的不断发展,互联网技术得以快速的发展和普及,并已在各行各业得到了广泛的应用,从中致使了网络上的信息呈现出爆炸式的增长状态,达到了“足不出户,万事皆知”的境况,充分体现了互联网新闻给生活…

String字符串的应用

String s0=”apple”; String s1=”apple”; String s2=”app” + “le”; System.out.println( s0==s1 ); System.out.println( s0==s2 ); 输出 true true 双等号比较的是两个对象的引用地址,对于String创建的常量都放到了常量池中,s0、s1、s2存的是指向常量池里面值的引用…

Java实现自定义注解,实现不需要token 验证就可以访问接口

目录 1 问题2 实现 1 问题 一个springboot 项目,需要token 验证,前端传过来token ,我们一般在项目全局写一个过滤器,去验证前端传过来的token ,如果有哪些接口不需要token验证,那么就排除这些接口,这个也需要配置。 …

前端 | TED打卡号分类查询

文章目录 &#x1f4da;实现效果&#x1f4da;模块实现解析&#x1f407;html&#x1f407;css&#x1f407;javascript &#x1f4da;实现效果 提供完整TED打卡号对应TED标题的查询列表 根据分类按需查询 &#x1f4da;模块实现解析 &#x1f407;html 搭框架<div cl…

Android Studio连接MySQL8.0

【序言】 移动平台这个课程要做一个app的课设&#xff0c;我打算后期增加功能改成毕设&#xff0c;就想要使用MySQL来作为数据库&#xff0c;相对于SQLlite来说&#xff0c;我更熟悉MySQL一点。 【遇到的问题】 一直无法连接上数据库&#xff0c;开始的时候查了很多资料&#…

海外云手机解决海外社交媒体运营难题

随着全球数字化浪潮的推进&#xff0c;海外社交媒体已成为外贸企业拓展市场、提升品牌影响力的重要阵地。Tiktok、Facebook、领英、twitter等平台以其庞大的用户基础和高度互动性&#xff0c;为企业提供了前所未有的营销机会。本文将介绍如何通过海外云手机&#xff0c;高效、快…

eNSP中小型园区网络拓扑搭建(下)

→b站直通车&#xff0c;感谢大佬← →eNSP中小型园区网络拓扑搭建&#xff08;上&#xff09;← 不带配置命令的拓扑图已上传~ 配置ospf SW5 # ospf 1 router-id 5.5.5.5area 0.0.0.0network 192.168.51.5 0.0.0.0network 192.168.52.5 0.0.0.0area 0.0.0.10network 192.1…

行业早报5.12

母亲节快乐&#xff01; 1.机构&#xff1a;美团旗下 KeeTa 已成为香港第一大外卖平台&#xff0c;单量份额超四成&#xff1b; 2.苹果公布 24Q1 财报&#xff1a;营收 907.5 亿美元&#xff0c;同比下降 4%&#xff1b;大中华区营收 163.7 亿美元&#xff0c;同比下降 8.1%&am…

MAC创建Pytorch环境

1.安装PyCharm,自己网上下载安装 2.安装miniconda,自己网上下载 3.随便在PyCharm创建个python项目 4.在项目下边的终端输入地方去配置python版本以及PyTorch 配置步骤: 1. 检测miniconda是否可用 输入 conda --version 查看 2 . conda search --full-name python 检测使用…

Kafka 面试题(七)

1. 描述Kafka Controller的作用&#xff1f; Kafka Controller在Kafka集群中扮演着核心管理和协调的角色。它的主要作用包括以下几个方面&#xff1a; 主题管理&#xff1a;Kafka Controller负责创建、删除以及增加主题分区等操作。当我们在任意一台Broker中执行kafka-topic脚…

有时你必须清理电脑上的灰尘,那么多久清理一次合理呢

灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都会进入室内,但是你应该多久清理一次灰尘或怎么清理​灰尘呢? 你应该多久给电脑除尘一次 对于你应该多久清理一次电脑上的灰尘,没有硬性规定。这在很大程度上取决…

golang函数默认参数

和java和php等编程语言不通&#xff0c; go语言里面函数的形参是没有默认参数的&#xff0c; 而且在go语言里面函数是一种数据类型&#xff0c;这个和其他常见编程语言也是一个不同点。 虽然go没有默认参数&#xff0c;但是对于他的每个参数都一个默认的零值&#xff0c;数字…

elk + filebeat 8.4.3 收集nginx日志(docker部署)

ELK filebeat docker部署 一、 elasticsearch部署1、运行elasticsearch临时配置容器2、拷贝文件目录到本地3、检查elasticsearch.yml4、删除之前elastic&#xff0c;运行正式容器5、docker logs记录启动日志 二、部署kibana1、运行kibana临时配置容器2、docker拷贝配置文件到本…

数据链路层——计算机网络学习笔记三

使用点对点信道的数据链路层 前言&#xff1a; 1.数据链路层的重要性&#xff1a;网络中的主机、路由器都必须实现数据连输层&#xff1b; 2.数据链路层中使用的信道&#xff1a; 点对点信道&#xff1a;这种信道是一对一的通信方式&#xff1b; 广播信道&#xff1a;使用一对多…