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.rhkb.cn/news/324439.html

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

相关文章

【redis】Redis五种常用数据类型和内部编码,以及对String字符串类型的总结

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

51单片机入门:蜂鸣器

蜂鸣器介绍 蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号。 蜂鸣器的种类 1、从结构上:压电式蜂鸣器和电磁式蜂鸣器。 压电式蜂鸣器:通过压电陶瓷的压电效应原理工作的。当加有交变电压时&#xf…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-14-主频和时钟配置

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

轮式机器人简介

迄今为止,轮子一般是移动机器人学和人造交通车辆中最流行的运动机构。它可达到很高的效率, 如图所示, 而且用比较简单的机械就可实现它的制作。 另外,在轮式机器人设计中,平衡通常不是一个研究问题。 因为在所有时间里,轮式机器人一般都被设计成在任何时间里所有轮子均与地接…

idea上如何新建git分支

当前项目在dev分支,如果想在新分支上开发代码,如何新建一个分支呢?5秒搞定~ 1、工具类选择git,点击New Branch 或者右下角点击git分支,再点击New Branch 2、在弹出的Create New Branch弹窗中,输入你的新分支…

VMware 不能拍摄快照

问题: 拍摄快照后,会出现这个弹窗,然后虚拟机就直接自动退出了,还会弹出一个框: 解决方法: 我用的是 window11 和 VMware16.0.0 这是因为VM16与window11,二者之间版本不兼容问题,可…

Python 全栈系列243 S2S flask_celery

说明 按现有的几个架构部件,构建数据流。 S Redis Stream。这个可以作为缓冲队列和简单任务队列,速度非常快,至少是万条/秒的速度。 Q RabbitMQ。这个作为任务队列,消息也主要是元数据。读速比较慢,但有一些特性&a…

Linux(openEuler、CentOS8)常用的IP修改方式(文本配置工具nmtui+配置文件+nmcli命令)

----本实验环境为openEuler系统<以server方式安装>&#xff08;CentOS类似&#xff0c;可参考本文&#xff09;---- 一、知识点 &#xff08;一&#xff09;文本配置工具nmtui(openEuler已预装) nmtui&#xff08;NetworkManager Text User Interface&#xff09;是一…

【LeetCode算法】389. 找不同

提示&#xff1a;此文章仅作为本人记录日常学习使用&#xff0c;若有存在错误或者不严谨得地方欢迎指正。 文章目录 一、题目二、思路三、解决方案 一、题目 给定两个字符串 s 和 t &#xff0c;它们只包含小写字母。字符串 t 由字符串 s 随机重排&#xff0c;然后在随机位置添…

Linux第三节--常见的指令介绍集合(持续更新中)

点赞关注不迷路&#xff01;&#xff0c;本节涉及初识Linux第三节&#xff0c;主要为常见的几条指令介绍。 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1f44d;&#x1f3fb; 收藏 ✨ 加关注&#x1f440; 期待与你共同进步! Linux下基本指令 1. man指令 Linu…

【网络原理】HTTPS | 对称加密 | 非对称加密 | 中间人攻击 | 证书 | 公钥 | 私钥

文章目录 HTTPSHTTPS的工作过程1.对称加密&#xff0c;加密业务数据2.非对称加密&#xff0c;加密对称密钥中间人攻击 3.使用证书&#xff0c;校验服务器的公钥 HTTPS 在http的基础上引入了一个加密层 1.对称加密&#xff0c;加密和解谜使用同一个密钥 2.非对称加密。有两个…

linux性能监控之top

说完了atop和htop&#xff0c;我们在来说说Linux自带的top&#xff0c;我们先看看命令效果&#xff1a; 可以看到是一个实时的系统监控工具&#xff0c;提供了一个动态的、交互式的实时视图&#xff0c;显示系统的整体性能信息以及正在运行的进程的相关信息。 我们先来解析下命…

【解决问题】电脑耳机可以听到对方声音,对方听不到自己声音

背景&#xff1a; 项目线上开会&#xff0c;自己说话对方一直听不到&#xff0c;但是我可以听到对方的声音 问题排查&#xff1a; 针对这个问题&#xff0c;尝试重新启动电脑&#xff0c;各种查看声音设置&#xff0c;都没有解决 最后看声卡驱动&#xff0c;想更新声卡驱动…

学习网络需要认识的各种设备

网桥&#xff08;bridge&#xff09; 网桥工作在数据链路层&#xff0c;可以把多个局域网连接起来&#xff0c;组成一个更大的局域网 以太网中&#xff0c;数据链路层地址就是mac地址&#xff0c;网桥与集线器的区别就是&#xff0c;网桥会过滤mac&#xff0c;只有目的mac地址…

Ardupilot Rpanion iperf网络性能测试

Ardupilot Rpanion iperf网络性能测试 1. 源由2. 分析3. 安装4. 测试4.1 第一次测试4.1.1 iperf测试参数A4.1.1.1 测试链路14.1.1.2 测试链路24.1.1.3 测试链路3 4.1.2 iperf测试参数B - 测试链路34.1.2.1 测试数据4.1.2.2 数据简单分析4.1.2.3 数据深入分析4.1.2.4 模拟测试网…

【八】centos7.6安装chrome和chromedriver并启动selenium

学习来源&#xff1a; 安装chrome和chrome driver -----https://blog.csdn.net/zdlcome/article/details/133813441 安装Python11 -----https://blog.csdn.net/weixin_43741408/article/details/130251102 chromedriver下载地址 -----https://googlechromelabs.github.io/chrom…

# 从浅入深 学习 SpringCloud 微服务架构(八)Sentinel(1)

从浅入深 学习 SpringCloud 微服务架构&#xff08;八&#xff09;Sentinel&#xff08;1&#xff09; 一、sentinel&#xff1a;概述 1、前言 – 服务熔断 Hystrix 的替换方案。 1&#xff09;2018年底 Netflix 官方宣布 Hystrix 已经足够稳定&#xff0c;不再积极开发 Hys…

用标准的GNU/Linux命令替换Alpine上的精简版命令

Alpine Linux 是一个基于 musl libc 和 busybox 的轻量级Linux发行版&#xff0c;busybox 实现了很多常用类Unix命令的精简版&#xff0c;特点是体积很小&#xff0c;舍弃了很多不常用参数&#xff0c;我们简单对比一下标准Linux自带的 date 命令 和 Alpine下默认的 date 命令便…

初期Linux

一&#xff0c;系统分为 1.1window系统 个人 &#xff1a;win7&#xff0c;win8&#xff0c;Win10&#xff0c;Win11服务器版&#xff1a;window server 2003&#xff0c;window server 2008 1.2Linux系统 centos7redhatubantukali 1.3什么是Linux&#xff1f; Linux是基…

连通“数据”,让制造变“聪明”

说起数据智能&#xff0c;你第一时间想到的是什么呢&#xff1f;是科技感十足的智慧城市&#xff1f;还是炫酷的人工智能景象&#xff1f; 数据作为企业的战略资产越来越受到重视&#xff0c;从最初的数据协助业务协同&#xff0c;转化为数据驱动业务&#xff0c;数据驱动运营…