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、手动合并完成后,需要手动提交到本地仓库

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

conan2 基础入门(04)-指定编译器(gcc为例)

conan2 基础入门(04)-指定编译器(gcc为例) 文章目录 conan2 基础入门(04)-指定编译器(gcc为例)⭐准备生成profile文件预备文件和Code ⭐使用指令预览正确执行结果可能出现的问题 ⭐具体讲解conancmake ENDsettings.yml ⭐准备 生成profile文件 # 生成默认profile文件&#xf…

【userfaultfd+条件竞争劫持modprobe_path】TSGCTF 2021 -- lkgit

前言 入门题,单纯就是完成每日一道 kernel pwn 的 kpi 😀 题目分析 内核版本:v5.10.25,可以使用 userfaultfd,不存在 cg 隔离开启了 smap/smep/kaslr/kpti 保护开启了 SLAB_HADNERN/RANDOM 保护 题目给了源码&…

使用IDA自带python patch的一道例题

首先看见就是迷宫 迷宫解出的路径,放在zip的文件可以得到一个硬编码 然后在原程序中,有一处很离谱 这个debugbreak就是IDA分析错误导致的 我们点进去发现里面全是nop 然后我们把我们得到的硬编码放在010里面,再用IDA打开 重新编译看汇编 你…

Python---Numpy万字总结(2)

NumPy的应用(2) 数组对象的方法 获取描述统计信息 描述统计信息主要包括数据的集中趋势、离散程度和频数分析等,其中集中趋势主要看均值和中位数,离散程度可以看极值、方差、标准差等 array1 np.random.randint(1, 100, 10) …

音视频--AAC编码解析和示例

目录 1:AAC编码介绍 2:AAC格式介绍 3:AAC -ADTS帧组成 4:AAC-ADTS:(adts_fixed_header)格式介绍 5:AAC-ADTS:(adts_variable_header)格式介绍…

符合Misra C++标准且支持mmap的内存池管理模块

概述 定义内存管理的相关行为。使用了预分配的管理,先分配一块足够大的内存,然后需要时再从这块内存中进行分配。 代码仓库:https://gitee.com/liudegui/mem_pool 类之间的关系 模块名功能MemPool内存池模块入口,提供常用的模块…

HDFS- DataNode磁盘扩缩容

HDFS- DataNode磁盘扩缩容 背景: 缩减/增加节点磁盘 方案介绍: 采用hdfs dfsadmin -reconfig 动态刷新配置实现,不停服扩缩容。 注意事项: 请在进行缩容之前,务必了解实际的数据量,并确保磁盘有足够的空间来容纳这些数据。还需要考虑未来的使用需求,要预留一定数量的空间…

面向电商家居行业3D室内场景合成中的空间感知

本文主要介绍了3D场景合成技术在电商领域,尤其是家居家装行业的应用。它解释了如何使用3D场景合成创建逼真的室内设计,让消费者能够交互式地查看和体验产品,提高购物的趣味性和效率。文章提到了两种主要的3D室内场景生成算法:传统…

Curator分布式锁

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 分布式锁服务宕机,…

RZ9692实训开发通信系统构建(含配置json配置文件)

实验名称 通信系统的构建 实验目的: 实现一个通信系统的构建,要求传输两路正弦波,和一路视频信号,要求在接受端完整接受正弦信号和视频信号。 一、实验原理: 数字通信系统的一般模型: 数字通信系统的一…

验证搜索二叉树

目录 题目 方法一 思路 优化 方法二 思维误区 递归关系推导 代码实现 题目 98. 验证二叉搜索树 难度:中等 给你一个二叉树的根节点root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含…

Python 开发 框架安全:Django SQL注入漏洞测试.(CVE-2021-35042)

什么是 Django 框架 Django 是一个用 Python 编写的 Web 应用程序框架。它提供了许多工具和库,使得开发 Web 应用程序变得更加容易和高效。Django 遵循了“MTV”(模型-模板-视图)的设计模式,将应用程序的不同组件分离开来&#x…

QT的C++版本是如何从ui文件编译成C++可以使用的.h文件的

Desktop_Qt_6_7_0_MinGW_64_bit是一个编译器,可以将ui文件编译为.h文件。我们可以在项目文件下看到这一样一个文件: 这里的ui_mainwindow.h文件我们可以打开看一下:你会发现你所有的ui设计都被记录在了这里。 /***************************…

最新网页版USB转串口芯片CH340中文规格书手册(20240511)

前言 南京沁恒的产品已经很成熟了,完全可替代国外USB转串口产品,不必迷信FT232,CP2102之类了。 另外,急着买芯片,直接跑过去的,看过几次妹子了:) CH340手册,基于网页3.3版本,规格书…

作为一名新能源汽车热管理仿真工程师需要具备哪些素养与技能

作为一名新能源汽车热管理仿真工程师,需要具备多方面的素养与技能,才能胜任这一岗位的工作。从工程素养到技术技能,再到沟通能力和团队合作,以下是对这些方面的探讨。 理论知识基础 首先,工程素养是新能源汽车热管理仿…

现代制造之数控机床篇

现代制造 有现代技术支撑的制造业,即无论是制造还是服务行业,添了现代两个字不过是因为有了现代科学技术的支撑,如发达的通信方式,不断发展的互联网,信息化程度加强了,因此可以为这两个行业增加了不少优势…

Spring-Cloud-OpenFeign源码解析-01-OpenFeign简介

OpenFeign简介 OpenFeign是一种声明式、模板化的HTTP客户端(仅在Application Client中使用)。声明式调用是指,就像调用本地方法一样调用远程方法,无需感知操作远程http请求。 OpenFeign和Feign的区别 Feign是Spring Cloud组件中一个轻量级RESTful的HT…

[算法][差分][延迟相差][leetcode]2960. 统计已测试设备

题目地址: https://leetcode.cn/problems/count-tested-devices-after-test-operations/description/ 解法一:暴力解法 class Solution {public int countTestedDevices(int[] batteryPercentages) {//特殊条件判断if(null batteryPercentages || ba…

图论(洛谷刷题)

目录 前言: 题单: P3386 【模板】二分图最大匹配 P1525 [NOIP2010 提高组] 关押罪犯 P3385 【模板】负环 P3371 【模板】单源最短路径(弱化版) SPFA写法 Dij写法: P3385 【模板】负环 P5960 【模板】差分约束…

深度解析Nginx:高性能Web服务器的奥秘(上)

🐇明明跟你说过:个人主页 🏅个人专栏:《洞察之眼:ELK监控与可视化》🏅 🔖行路有良友,便是天堂🔖 目录 一、前言 1、Nginx概述 2、Nginx的历史与发展 3、Nginx的…