IntelliJ IDEA 中上传项目到 Gitee 的完整指南

news2024/11/23 8:04:07

博主主页:【南鸢1.0】

本文专栏:git

目录

简介

1.插入intellij-gitee

2.导入下载插件

3.选择导航栏中的VCS->Share Project on Gitee

4.登录gitee

6.验证gitee仓库是否创建成功

7.上传分享项目

8.验证仓库代码是否上传成功

总结



简介

Gitee 是一个代码托管平台,类似于 GitHub,广泛用于项目的管理和版本控制。通过 IDE(如 IntelliJ IDEA)集成的 Git 功能,可以方便地将本地项目上传到 Gitee。

1.插入intellij-gitee

File -Sttings -Plugins  在Marketplace下输入Gitee 在点击Install安装

注意:版本不对在下载的时候下载不上,一定要注意版本信息。

如果在出现这种情况就安装在官网下载插件在导入到idea中的方式,

2.导入下载插件

(1).直接到插件市场搜索

官方网址 网址 

要在搜索框中搜索Intellij-gitee,选择图中的

(2).找Idea对应的版本下载

(3).安装到本地后,有个zip包,不解压,进入idea–> plugins,选中刚刚下的zip包。(解压的话就选中里面的jar包)

安装成功

3.选择导航栏中的VCS->Share Project on Gitee

4.登录gitee

填写账户名和密码,Login栏:邮箱地址,password栏:你的密码

注意:如果是第一次用gitee注册成功的时候要绑定邮箱(如果没有绑定邮箱是没办法执行的)

5.创建仓库

在创建仓库的时候要注意连接是否成功,

6.验证gitee仓库是否创建成功

7.上传分享项目

创建完成,提示如图:点击Add,然后等他加载完成就行了

成功上传成功了

8.验证仓库代码是否上传成功

这样就代表上传成功了

总结

将项目从 IntelliJ IDEA 上传到 Gitee 涉及创建仓库、配置 Git、初始化项目、添加远程路径、提交更改及推送等步骤。通过这种方式,开发者能够有效地管理项目版本,便于团队协作与代码共享。

在实际操作中,可以借助 IDEA 的图形界面来简化大部分过程中涉及的命令行操作,提升效率。同时,学会使用 Git 的基本命令,无疑会使你在代码管理方面更为得心应手。

最后给大家分享一个用JAVA代码编写的贪吃蛇小游戏

package com.example.demo;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Random;

public class SnakeGame extends JPanel implements ActionListener, KeyListener {
    // 游戏窗口的宽度和高度
    private final int WIDTH = 1400;
    private final int HEIGHT = 1000;
    // 蛇身体每一节的大小
    private final int DOT_SIZE = 20; // 增大点的大小以适应更大的窗口
    // 游戏区域最大容纳的蛇身体节数
    private final int ALL_DOTS = (WIDTH * HEIGHT) / (DOT_SIZE * DOT_SIZE);
    // 食物随机位置的范围
    private final int RAND_POS_X = WIDTH / DOT_SIZE - 1;
    private final int RAND_POS_Y = HEIGHT / DOT_SIZE - 1;
    // 游戏刷新延迟,决定蛇的移动速度
    private final int DELAY = 100; // 稍微加快游戏速度
    // 食物的数量
    private final int FOOD_COUNT = 5; // 增加食物数量

    // 存储蛇身体的x坐标
    private final int x[] = new int[ALL_DOTS];
    // 存储蛇身体的y坐标
    private final int y[] = new int[ALL_DOTS];

    // 蛇当前的长度
    private int dots;
    // 存储多个食物的列表
    private ArrayList<Point> foods;

    // 蛇的移动方向
    private boolean leftDirection = false;
    private boolean rightDirection = true;
    private boolean upDirection = false;
    private boolean downDirection = false;
    // 游戏是否在进行中
    private boolean inGame = true;

    // 游戏计时器,用于定期刷新游戏状态
    private Timer timer;
    // 随机数生成器,用于食物的随机放置
    private Random random;

    // 构造函数
    public SnakeGame() {
        addKeyListener(this);
        setBackground(Color.black);
        setFocusable(true);

        setPreferredSize(new Dimension(WIDTH, HEIGHT));
        random = new Random();
        initGame();
    }

    // 初始化游戏
    private void initGame() {
        dots = 3; // 初始蛇的长度

        // 初始化蛇的位置
        for (int i = 0; i < dots; i++) {
            x[i] = 100 - i * DOT_SIZE;
            y[i] = 100;
        }

        // 初始化食物列表
        foods = new ArrayList<>();
        for (int i = 0; i < FOOD_COUNT; i++) {
            locateFood();
        }

        // 启动游戏计时器
        timer = new Timer(DELAY, this);
        timer.start();
    }

    // 绘制游戏元素
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        doDrawing(g);
    }

    // 具体的绘制逻辑
    private void doDrawing(Graphics g) {
        if (inGame) {
            // 绘制所有食物
            for (Point food : foods) {
                g.setColor(Color.red);
                g.fillOval(food.x, food.y, DOT_SIZE, DOT_SIZE);
            }

            // 绘制蛇
            for (int i = 0; i < dots; i++) {
                if (i == 0) {
                    g.setColor(Color.green); // 蛇头
                } else {
                    g.setColor(new Color(45, 180, 0)); // 蛇身
                }
                g.fillRect(x[i], y[i], DOT_SIZE, DOT_SIZE);
            }

            // 绘制分数
            g.setColor(Color.white);
            g.setFont(new Font("Arial", Font.BOLD, 16));
            g.drawString("Score: " + (dots - 3), 10, 20);

            Toolkit.getDefaultToolkit().sync();
        } else {
            gameOver(g); // 游戏结束时显示结束画面
        }
    }

    // 游戏结束画面
    private void gameOver(Graphics g) {
        String msg = "Game Over";
        Font font = new Font("Helvetica", Font.BOLD, 24);
        FontMetrics metr = getFontMetrics(font);

        g.setColor(Color.white);
        g.setFont(font);
        g.drawString(msg, (WIDTH - metr.stringWidth(msg)) / 2, HEIGHT / 2);
        g.drawString("Score: " + (dots - 3), (WIDTH - metr.stringWidth("Score: " + (dots - 3))) / 2, HEIGHT / 2 + 40);
    }

    // 检查是否吃到食物
    private void checkFood() {
        for (int i = 0; i < foods.size(); i++) {
            Point food = foods.get(i);
            if ((x[0] == food.x) && (y[0] == food.y)) {
                dots++; // 增加蛇的长度
                foods.remove(i); // 移除被吃掉的食物
                locateFood(); // 放置新的食物
                break; // 一次只能吃一个食物
            }
        }
    }

    // 移动蛇
    private void move() {
        for (int i = dots; i > 0; i--) {
            x[i] = x[(i - 1)];
            y[i] = y[(i - 1)];
        }

        // 根据方向移动蛇头
        if (leftDirection) {
            x[0] -= DOT_SIZE;
        }
        if (rightDirection) {
            x[0] += DOT_SIZE;
        }
        if (upDirection) {
            y[0] -= DOT_SIZE;
        }
        if (downDirection) {
            y[0] += DOT_SIZE;
        }
    }

    // 检查碰撞
    private void checkCollision() {
        // 检查是否与自己碰撞
        for (int i = dots; i > 0; i--) {
            if ((i > 4) && (x[0] == x[i]) && (y[0] == y[i])) {
                inGame = false;
                return;
            }
        }

        // 检查是否撞墙(现在改为穿墙)
        if (y[0] >= HEIGHT) {
            y[0] = 0;
        }
        if (y[0] < 0) {
            y[0] = HEIGHT - DOT_SIZE;
        }
        if (x[0] >= WIDTH) {
            x[0] = 0;
        }
        if (x[0] < 0) {
            x[0] = WIDTH - DOT_SIZE;
        }
    }

    // 随机放置食物
    private void locateFood() {
        int rx = random.nextInt(RAND_POS_X) * DOT_SIZE;
        int ry = random.nextInt(RAND_POS_Y) * DOT_SIZE;

        // 确保食物不会出现在蛇身上
        while (isFoodOnSnake(rx, ry)) {
            rx = random.nextInt(RAND_POS_X) * DOT_SIZE;
            ry = random.nextInt(RAND_POS_Y) * DOT_SIZE;
        }

        foods.add(new Point(rx, ry));
    }

    // 检查食物是否出现在蛇身上
    private boolean isFoodOnSnake(int fx, int fy) {
        for (int i = 0; i < dots; i++) {
            if (x[i] == fx && y[i] == fy) {
                return true;
            }
        }
        return false;
    }

    // 游戏主循环
    @Override
    public void actionPerformed(ActionEvent e) {
        if (inGame) {
            checkFood();
            checkCollision();
            move();
        }

        repaint(); // 重绘游戏画面
    }

    // 处理键盘输入
    @Override
    public void keyPressed(KeyEvent e) {
        int key = e.getKeyCode();

        // 改变蛇的方向,确保不能直接掉头
        if ((key == KeyEvent.VK_LEFT) && (!rightDirection)) {
            leftDirection = true;
            upDirection = false;
            downDirection = false;
        }
        if ((key == KeyEvent.VK_RIGHT) && (!leftDirection)) {
            rightDirection = true;
            upDirection = false;
            downDirection = false;
        }
        if ((key == KeyEvent.VK_UP) && (!downDirection)) {
            upDirection = true;
            rightDirection = false;
            leftDirection = false;
        }
        if ((key == KeyEvent.VK_DOWN) && (!upDirection)) {
            downDirection = true;
            rightDirection = false;
            leftDirection = false;
        }
    }

    @Override
    public void keyReleased(KeyEvent e) {
    }

    @Override
    public void keyTyped(KeyEvent e) {
    }

    // 主方法,创建游戏窗口
    public static void main(String[] args) {
        JFrame frame = new JFrame("Snake Game");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.add(new SnakeGame());
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

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

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

相关文章

【p2p、分布式,区块链笔记 分布式容错算法】: 拜占庭将军问题+实用拜占庭容错算法PBFT

papercodehttps://pmg.csail.mit.edu/papers/osdi99.pdfhttps://github.com/luckydonald/pbft 其他相关实现&#xff1a;This is an implementation of the Pracltical Byzantine Fault Tolerance protocol using PythonAn implementation of the PBFT consensus algorithm us…

简单的kafkaredis学习之redis

简单的kafka&redis学习之redis 2. Redis 2.1 什么是Redis Redis是一种面向 “Key-Value” 数据类型的内存数据库&#xff0c;可以满足我们对海量数据的快速读写需求&#xff0c;Redis是一个 NoSQL 数据库&#xff0c;NoSQL的全称是not only sql&#xff0c;不仅仅是SQL&…

无人机之卫星通信技术篇

无人机的卫星通信技术是一种利用人造地球卫星作为中继站来转发无线电波&#xff0c;从而实现无人机与地面控制站之间通信的技术。 一、技术概述 卫星通信系统主要由通信卫星和经该卫星连通的地球站两部分组成。在无人机应用中&#xff0c;卫星通信技术能够确保无人机在全球范围…

网鼎杯 misc -好久不见4

不嘻嘻&#xff0c;没见过这种题&#xff0c;需要把这个红线还原重组成二维码&#xff0c;搜索一个是这个Peano曲线 from PIL import Image from tqdm import tqdmdef peano(n):if n 0:return [[0, 0]]else:in_lst peano(n - 1)lst in_lst.copy()px, py lst[-1]lst.extend(…

ARM base instruction -- adcs

Add with Carry, setting flags, adds two register values and the Carry flag value, and writes the result to the destination register. It updates the condition flags based on the result. 带进位加法&#xff0c;设置标志&#xff0c;将两个寄存器值和进位标志值相…

笔记本双系统win10+Ubuntu 20.04 无法调节亮度亲测解决

sudo add-apt-repository ppa:apandada1/brightness-controller sudo apt-get update sudo apt-get install brightness-controller-simple 安装好后找到一个太阳的图标&#xff0c;就是这个软件&#xff0c;打开后调整brightness&#xff0c;就可以调整亮度&#xff0c;可…

vue版本太低无法执行vue ui命令

连接 ui和create目前都只支持3.0以后得版本才能使用 https://blog.csdn.net/m0_67318913/article/details/136775252?utm_mediumdistribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-136775252-blog-121204604.235v43pc_blog_bottom_relevance…

萤石私有化设备视频平台EasyCVR视频融合平台如何构建农业综合监控监管系统?

现代农业的迅速发展中&#xff0c;集成监控管理系统已成为提高农业生产效率和优化管理的关键工具。萤石私有化设备视频平台EasyCVR&#xff0c;作为一个具有高度可扩展性、灵活的视频处理能力和便捷的部署方式的视频监控解决方案&#xff0c;为农业监控系统的建设提供了坚实的技…

Pr 视频效果:闪光灯

视频效果/风格化/闪光灯 Stylize/Strobe Light 闪光灯 Strobe Light效果可用于在视频中创建闪烁或频闪的效果&#xff0c;类似于舞台上的频闪灯或摄影中的闪光灯。 ◆ ◆ ◆ 效果选项说明 通过调整各种参数&#xff0c;可以自定义闪光的颜色、频率、持续时间和混合模式&#…

FreeRTOS确定任务栈大小

一、FreeRTOS内存分配 所有任务共用一个堆空间&#xff0c;所以当调用xPortGetFreeHeapSize这个函数时&#xff0c;返回的就是现在所有可用堆空间的消息 所有任务都有自己的栈空间&#xff0c;比如在任务中定义一个uint32_t data[100]的数组&#xff0c;此时调用uxTaskGetSt…

计算机毕业设计Hadoop+Spark+Hive抖音情感分析 抖音可视化 抖音舆情监测 预测算法 抖音爬虫 抖音大数据 情感分析 NLP 自然语言处理

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; HadoopSparkHive抖音情感分…

tcp shutdown, fin_wait1, fin_wait2, close_wait, last_ack, 谢特!

TCP 作为双向传输协议&#xff0c;如果你想只收不发&#xff0c;可以单向关掉发&#xff0c;shutdown(socket.SHUT_WR)&#xff0c;但不建议这么做。 看以下代码&#xff1a; #!/Users/zhaoya/myenv/bin/python3 # client import socketclient_socket socket.socket(socket.…

redis安装使用

1. 下载地址 :::color1 下载最新稳定版本的 redis-windows 7.x 版本(本实例以 7.2.3 为例) ::: # 下载地址 https://download.csdn.net/download/qq827245563/899238402. 解压文件 ![](https://img-blog.csdnimg.cn/img_convert/c094d561f7f8ed6e9d139d07be1271cb.png) 3. …

如果在 Ubuntu 24.04 上安装 Yarn ?

Yarn 是一种快速、可靠、安全的 JavaScript 项目依赖管理工具&#xff0c;它提供了比同类产品更好的缓存机制、网络性能和更直观的用户界面。作为现代 web 开发的基本工具&#xff0c;在系统上安装 Yarn 可以确保您可以有效地管理项目依赖关系。 他的文章将指导您通过 4 种有效…

【React 轮子】文本溢出后显示展开/收起按钮

/** hooks* 用于文本展示时判断是否展示 展开/收起按钮 &#xff08;包含监听 文本变化/页面尺寸变换&#xff09;* param { string } text 需要展示的文本* param { number } maxLength 文本最大展示行数* param { number } lineHeight 文本行高 (单位 px) */ import React, …

Python | Leetcode Python题解之第523题连续的子数组和

题目&#xff1a; 题解&#xff1a; class Solution:def checkSubarraySum(self, nums, k):d {0: -1}pre 0for index, num in enumerate(nums):pre numrem pre % ki d.get(rem, index)if i index:d[rem] indexelif i < index - 2:return Truereturn False

基于Matlab的图像去噪算法仿真

在信息化的社会里&#xff0c;图像在信息传播中所起的作用越来越大。所以&#xff0c;消除在图像采集和传输过程中而产生的噪声&#xff0c;保证图像受污染度最小&#xff0c;成了数字图像处理领域里的重要部分。 本文主要研究分析邻域平均法、中值滤波法、维纳滤波法及模糊小…

【计算机网络 - 基础问题】每日 3 题(五十九)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

滚珠导轨的存放与防锈保养

机床导轨是机床的重要组成部分&#xff0c;如果导轨生锈会影响机床的使用寿命和精度&#xff0c;因此必须采取措施进行防止。导轨生锈的原因主要是受到外界环境中的空气中的氧气和水蒸气等导致金属表面氧化腐蚀&#xff0c;另外&#xff0c;储存不当也会引起生锈。 一、滚珠导轨…

图技术发展简史

图数据库技术的本质是图计算与存储技术&#xff08;事实上所有IT技术在本质上都是计算、存储与网络&#xff0c;因为计算有网络计算、分布式计算&#xff0c;存储有网络存储、分布式存储&#xff0c;因此我们经常省略网络而只说计算和存储&#xff09;​&#xff0c;而图计算&a…