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就和直接拉仓库的代码产生的效果一模一样了。

注意:

  • 我们如果是使用了本地分支 ==》其他远程分支,我们最后在上面一系列初始化完成之后,在本地创建一下同名分支,在这个分支下干活,不然在我们推送的 时候还是会报错,无法推送,只能手动强制推送
相关推荐
蒟蒻的工具人16 小时前
SSE实时推送订单状态
java·eventsource·sse协议
小蒜学长16 小时前
springboot基于Java的校园导航微信小程序的设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序
凌波粒17 小时前
MyBatis完整教程IDEA版(3)--动态SQL/MyBatis缓存
sql·intellij-idea·mybatis
王元_SmallA17 小时前
IDEA + Spring Boot 的三种热加载方案
java·后端
小苏兮17 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节
Java天梯之路17 小时前
04 数据类型转换
java
Acrelhuang17 小时前
小小电能表,如何撬动家庭能源革命?
java·大数据·开发语言·人工智能·物联网
jyd012418 小时前
MongoDB 与 Java 实体类型 LocalTime 时区转换问题解决方案
java·数据库·mongodb
一抓掉一大把18 小时前
RuoYI框架.net版本实现Redis数据隔离
java·开发语言
.格子衫.18 小时前
Maven高级
java·maven