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

博主主页:【南鸢1.0】

本文专栏:git

目录

简介

1.插入intellij-gitee

2.导入下载插件

[3.选择导航栏中的VCS->Share Project on Gitee](#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);
    }
}
相关推荐
gadiaola1 分钟前
【JavaSE面试篇】Java集合部分高频八股汇总
java·面试
艾迪的技术之路24 分钟前
redisson使用lock导致死锁问题
java·后端·面试
今天背单词了吗98042 分钟前
算法学习笔记:8.Bellman-Ford 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·后端·算法·最短路径问题
天天摸鱼的java工程师44 分钟前
使用 Spring Boot 整合高德地图实现路线规划功能
java·后端
东阳马生架构1 小时前
订单初版—2.生单链路中的技术问题说明文档
java
咖啡啡不加糖1 小时前
暴力破解漏洞与命令执行漏洞
java·后端·web安全
风象南1 小时前
SpringBoot敏感配置项加密与解密实战
java·spring boot·后端
DKPT1 小时前
Java享元模式实现方式与应用场景分析
java·笔记·学习·设计模式·享元模式
Percep_gan2 小时前
idea的使用小技巧,个人向
java·ide·intellij-idea