PyCharm 集成 Git

news2024/11/22 11:30:51

目录

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.coloradmin.cn/o/1666268.html

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

相关文章

浅谈运维数据安全

在数字化日益深入的今天,运维数据安全已经成为企业信息安全体系中的核心要素。运维工作涉及到企业信息系统的各个方面,从硬件维护到软件升级,从网络配置到数据备份,无一不需要严谨的数据安全保障措施。本文将从运维数据安全的重要…

Ubuntu 22.04: VS Code 配置 C++ 编译及 CMake

一、VS Code 安装以及 C 编译环境配置 1. 在 Ubuntu 中安装 VS Code 笔者直接在 Ubuntu Software 中心安装 VS Code。也可以从VS Code官网下载 deb,解压 dpkg -i 安装。 2. VS Code 中配置 g/gcc 1) 安装 C/C 扩展 (CtrlShiftX) 2&#x…

HR人才测评,表达能力与岗位胜任力素质测评

什么是表达能力? 表达能力指的就是在语言能力基础之上发展形成的一种语用能力,可以结合自己所掌握的语言来实现交际的目的,能正确且灵活的把语言材料组合成为语言并且表达出想要表达的内容。 在百度百科中有如此定义,表达能力…

go-zero整合asynq实现分布式定时任务

本教程基于go-zero微服务入门教程,项目工程结构同上一个教程。 go-zero微服务入门教程(点击进入) 本教程主要实现go-zero整合asynq实现分布式定时任务。 本文源码:https://gitee.com/songfayuan/go-zero-demo (教程源…

超详细的胎教级Stable Diffusion使用教程(五)

这套课程分为五节课,会系统性的介绍sd的全部功能和实操案例,让你打下坚实牢靠的基础 一、为什么要学Stable Diffusion,它究竟有多强大? 二、三分钟教你装好Stable Diffusion 三、小白快速上手Stable Diffusion 四、Stable dif…

【DevOps】Linux 安全:iptables 组成、命令及应用场景详解

导读:全面掌握 iptables:从基础到实践 在 Linux 系统中,iptables 是一个非常强大的工具,它不仅是系统管理员用来构建和管理网络防火墙的首选工具,而且也是一个功能丰富的网络流量处理系统。无论是进行包过滤、监控网络…

大数据测试

1、前言 大数据测试是对大数据应用程序的测试过程,以确保大数据应用程序的所有功能按预期工作。大数据测试的目标是确保大数据系统在保持性能和安全性的同时,平稳无差错地运行。 大数据是无法使用传统计算技术处理的大型数据集的集合。这些数据集的测试涉…

用大于meilisearch-java-0.7.0.jar的报错的解决

Elasticsearch 做为老牌搜索引擎,功能基本满足,但复杂,重量级,适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求,极快,单文件,超轻量。 所以,对于中小型项目来说…

OBS插件--复合模糊

复合模糊 复合是一款滤镜插件,支持多种模糊类型和多种蒙版效果。支持模糊源的部分显示区域,可以反选区域进行模糊,这个功能对于场景部分区域需要遮盖非常实用。 下面截图演示下操作步骤: 首先,打开 OBS直播助手 在…

德国Dürr杜尔机器人维修技巧分析

在工业生产中,杜尔工业机器人因其高效、精准和稳定性而备受青睐。然而,即便是最精良的设备,也难免会出现Drr机械手故障。 一、传感器故障 1. 视觉传感器故障:可能导致机器人无法正确识别目标物,影响工作效率。解决方法…

5.神经网络-激活函数

目录 1. 激活函数不是阶跃函数 1.1 激活函数和阶跃函数都是非线性函数 1.2 激活函数不是阶跃函数 2. sigmoid 函数 2.1 sigmoid 函数表达式 2.2 sigmoid 函数 Python 实现 2.4 sigmoid 函数图 3. ReLU 函数 3.1 ReLU 函数表达式 3.2 ReLU 函数 Python 实现 3.4 ReLU…

现代制造之数控机床篇

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

Rust的协程机制:原理与简单示例

在现代编程中,协程(Coroutine)已经成为实现高效并发的重要工具。Rust,作为一种内存安全的系统编程语言,也采用了协程作为其并发模型的一部分。本文将深入探讨Rust协程机制的实现原理,并通过一个简单的示例来…

文献阅读——LPPLS(2)

A study on the bursting point of Bitcoin based on the BSADF and LPPLS methods 文献来源[2] Yao, Can-Zhong, and Hong-Yu Li. “A study on the bursting point of Bitcoin based on the BSADF and LPPLS methods.” The North American Journal of Economics and Financ…

Linux:Figshare网站文件下载(非浏览器)

参考aws亚马逊云下载figshare内容 Linux wget -c 下载网页内容crul -C_figshare怎么下载数据-CSDN博客 尝试一下 mamba search awscli mamba install awscli2.15.48 aws --version通过网页获取下载链接 比如: https://s3-eu-west-1.amazonaws.com/pfigshare-u-…

C# Linq中的自定义排序

1.开发过程中&#xff0c;会遇到OrderBy/OrderByDescending排序无法满足的情况&#xff0c;此时就需要自定义排序&#xff0c;按照想要的排序规则取排序&#xff0c;比如订单的状态等等。 2.自定义泛型比较器代码如下&#xff1a; /// <summary>/// 自定义泛型比较器(用…

HNCTF-PWN

1.ez_pwn 直接看危险函数&#xff0c;不能溢出&#xff0c;只能覆盖ebp。 后面紧接的又是leave,ret 很明显是栈迁移&#xff0c;通过printf打印出ebp&#xff0c;通过偏移计算出栈地址。 通过gdb调试&#xff0c;偏移是0x38 以下是payload&#xff1a; from pwn import * #i…

初始Java篇(JavaSE基础语法)(8)认识String类(上)

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaSE 简单介绍&#xff1a;在C语言中已经涉及到字符串了&#xff0c;但是在C语言中要表示字符串只能使用字符数组或者字符指针&#xff0c;可…

Kafka和Spark Streaming的组合使用学习笔记(Spark 3.5.1)

一、安装Kafka 1.执行以下命令完成Kafka的安装&#xff1a; cd ~ //默认压缩包放在根目录 sudo tar -zxf kafka_2.12-2.6.0.tgz -C /usr/local cd /usr/local sudo mv kafka_2.12-2.6.0 kafka-2.6.0 sudo chown -R qiangzi ./kafka-2.6.0 二、启动Kafaka 1.首先需要启动K…

C++ | Leetcode C++题解之第84题柱状图中最大的矩形

题目&#xff1a; 题解&#xff1a; class Solution { public:int largestRectangleArea(vector<int>& heights) {int n heights.size();vector<int> left(n), right(n, n);stack<int> mono_stack;for (int i 0; i < n; i) {while (!mono_stack.em…