IDEA 使用

目录

Git

.gitignore 不上传

在项目根目录下创建 .gitignore 文件夹,并添加内容:

.gitignore

取消idea自动 add file to git

在core中添加如下内容,完成后当你尝试添加文件到Git仓库时,Git会再次提示你是否要添加文件。

bash 复制代码
asktoadd = true

添加前:

添加后:

撤销commit的内容

结论:

  • 自己开发的过程中,未Push,但已commit ------》undo Commit ;Push,且已Commit ------》Reset Current Branch to Here
  • 生产过程中,快速回退 ------》Reset Current Branch to Here ;从某个结点新建分支回滚,排查问题------》 Revert Commit
  1. 我们先找到要回退的历史记录
  1. 选择我们要回退提交的记录

    选中记录我们明显可以知道有三种方式:
  • Reset Current Branch to Here
  • Revert Commit
  • Undo Commit

参考资料

区别:

"Reset Current Branch to Here "、"Revert Commit "和"Undo Commit "是Git中的三个不同的操作,它们的用途和效果如下:

"Reset Current Branch to Here "操作是将当前分支的状态重置到指定的提交。这意味着可以将当前分支的代码库回溯到过去的某个版本,并且在这个版本之后的所有提交都将被清除。这个操作不会删除已经做出的更改,只是将它们从可追踪的历史记录中移除。

效果:


"Revert Commit "操作是创建一个新的提交来撤销之前的某个提交。这意味着撤销的更改将不再被包含在当前分支的历史记录中,但它们仍然存在于其他分支或备份中。使用Revert Commit,可以在保留所有后续提交的同时撤销之前的更改。

效果:


"Undo Commit "操作则是指将代码库回溯到早期的某个版本并清除在其之后的所有提交,与"Reset Current Branch to Here"类似。然而,"Undo Commit"不仅会清除历史记录,还会删除所有未提交的更改。这意味着任何未提交的更改都将丢失,无法恢复。

效果:

就是只回滚了本地的资源,我们修改完之后,再次上传会产生冲突,因为此时我们本地的记录head头和远程不一样。


  1. Reset Current Branch to Here (解决快速回退指定版本推荐)

获取版本信息



bash 复制代码
HEAD^ 表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。
 
也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2
  1. Revert Commit (解决生产问题推荐
    git 代码回滚 reset revert 详解 IDEA操作 4种reset区别
  2. Undo Commit (解决本地开发提交错误推荐、适合还没有提交且要回退的情况
    提交过在回退,再次push可能会产生冲突
    git 代码回滚 reset revert 详解 IDEA操作 4种reset区别

本地已经有一个开发完成的项目,这个时候想要上传到仓库中

  1. 打开idea的 Terminal 之后,进入项目根目录,初始化git
bash 复制代码
git init
  1. 添加暂存文件
bash 复制代码
git add . #所有文件
  1. 提交暂存文件
bash 复制代码
git commit -m '注释'

这个时候可能会报错

bash 复制代码
fatal: detected dubious ownership in repository at 'D:/_Myself/code/java/bkTool'
'D:/_Myself/code/java/bkTool' is owned by:
        'S-1-5-21-3962368293-3680662587-454507184-1001'
To add an exception for this directory, call:

        git config --global --add safe.directory D:/_Myself/code/java/bkTool

这个时候我们只需要,按照他的要求添加权限就好

bash 复制代码
git config --global --add safe.directory # 项目根目录 D:/_Myself/code/java/bkTool
  1. 增加远程仓库地址(如果有可跳过)
bash 复制代码
git remote add origin  你的仓库地址
  1. 拉取内容(这应该是一步没有用的操作

因为我们的前提就是一个新仓库,所以肯定不会因为之前的文件产生冲突不适配的情况,但是基于好的开发习惯,我们还是象征性的 pull 一下

bash 复制代码
git pull origin   分支名
  1. 推送内容
    6.1 本地分支 = 远程分支
bash 复制代码
git push origin 分支名

6.2 本地分支 != 远程分支

本地main 推送到远程其他分支上,如:testGit

bash 复制代码
git push  -f origin local_branch:remote_branch # 要强制推送
  1. 推送完成之后,我们重启idea,这个时候我们查看一下我们idea是否已经产生了 版本管理,如果不好这个时候只需要手动添加一下就好了,然后我们的idea就和直接拉仓库的代码产生的效果一模一样了。

注意:

  • 我们如果是使用了本地分支 ==》其他远程分支,我们最后在上面一系列初始化完成之后,在本地创建一下同名分支,在这个分支下干活,不然在我们推送的 时候还是会报错,无法推送,只能手动强制推送
相关推荐
m0_571957582 小时前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
魔道不误砍柴功4 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2344 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨4 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
测开小菜鸟5 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity6 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天6 小时前
java的threadlocal为何内存泄漏
java
caridle7 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^7 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋37 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx