当前位置: 首页 > news >正文

IDEA 环境下基于 Git 的代码上传操作及误操作后回滚清除记录处理指南

文章目录

    • 一.git和gitee配置ssh免密登录
    • 二.在idea登录github账号
    • 三.idea使用git管理项目
    • 四.git命令上传
    • 五.git基本知识
    • 5.1 版本控制
    • 5.2 常用命令
    • 5.3 分支
    • 5.5 remote 敏感信息泄露事件处置:操作回滚及历史记录全面清除方案
    • 六.git其他问题

一.git和gitee配置ssh免密登录

  • (1)本地安装git

  • (2)进入git bash

# 配置作者信息gitconfig--globaluser.name"yuanjie"# 配置作者邮箱gitconfig--globaluser.email"xxxx@qq.com"# 使用命令。连续3次回车;ssh-keygen-ted25519-C"your_email@example.com"
  • (3) 在用户目录下 .ssh文件夹中:

  • (4)登录git 或者gitee 在设置里面找到SSH KEY,将.pub 文件的内容黏贴进去

  • (5)在git bash 使用ssh -T git@gitee.com,测试是否成功。


二.在idea登录github账号

可以账号密码登录,或之前的免密token登录

gitee


三.idea使用git管理项目


3.1 .ignore样例

以下内容将被忽略上传

/.idea/ *.iml */.idea/ /out/ /log/ /mall-auth-server/target/ /mall-common/target/ /mall-coupon/target/ /mall-gateway/target/ /mall-member/target/ /mall-order/target/ /mall-product/target/

3.2 回退版本

3.3 添加文件至暂存区

3.4 查看历史改动

3.5 分支操作

  • 在新分支修改文件后,提交到本地仓库;

  • 然后切换主分支,找到新分支合并.主分支相关文件会被新分支相关文件覆盖.

  • 再切换到新分支,提交云端.云端即创建新分支内容

四.git命令上传

idea右上角有可视化上传方式就不提了.
我们讲命令行方式

git init git add.git commit-m"初始化项目"#如果这步无法执行请执行下一步 git remote add origin https://<your_token>@github.com/<your_name>/<program_name>.git #上一步不起作用才执行 git remote set-url origin https://<your_token>@github.com/<your_name>/<program_name>.git git branch-m master main #将master分支命名为main git push--set-upstream origin main #这步如果出现![rejected]main->main(fetch first)报错,请看问题二.

五.git基本知识

5.1 版本控制

版本控制是一种记录文作内容变化.以便将来查阅特定版本修订情况的系统。版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。也避免文件覆盖.

5.2 常用命令

gitconfig--globaluser.name 用户名# 设置用户签名gitconfig--globaluser.email 邮箱# 设置用户签名gitinit# 初始化本地仓gitstatus# 查看本地仓状态gitadd.# 添加当前目录所有文件到暂存区gitrm--cached文件名# 删除暂存区文件gitcommit-m"提交信息"# 提交到本地库gitreflog# 查看历史版本gitlog# 查看历史版本的详细信息gitreset--hard版本号# 版本回滚gitbranch 分支名# 创建分支gitbranch-v# 查看分支gitcheckout 分支名# 切换分支gitmerge 分支名# 把指定分支合并到当前分支上

5.3 分支

介绍
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本.(分支底层其实也是指针的引用)

好处
同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

冲突合并
冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法替我们决定使用哪一个。必须人为决定新代码内容。即有多人对不同分支同时进行修改.然后合并时git不敢帮你做合并. 必须自己确认删除内容保证.修改后的文件是当前分支合并

5.5 remote 敏感信息泄露事件处置:操作回滚及历史记录全面清除方案

  1. 对当前内容进行备份,以防止后续操作出现意外导致数据丢失。
  2. 确定敏感信息初次泄露的记录点,然后使用git reset --hard命令将版本回退到该记录点的前一个记录。通过此操作,本地代码将恢复到敏感信息泄露之前的状态。
  3. 优先选择使用git cherry-pick命令将最新分支上的提交记录应用到当前分支,或者使用之前备份的文件进行覆盖操作。这样可以在保留本地已编写代码的同时,获取最新的代码记录。
  4. 对代码中的敏感信息进行修改,确保敏感信息不再存在于代码中。
  5. 在命令行中执行git push origin <远程分支名称> --force命令,将本地修改后的代码强制推送到远程分支。需要注意的是,该命令没有可视化操作界面,执行时请谨慎操作。



六.git其他问题

github常见错误集合

github创建个人令牌

http://www.cnnetsun.cn/news/1671414.html

相关文章:

  • 踩坑生产后整理:KingbaseES表空间管理、auto_createtblspcdir参数深度解析与运维最佳实践
  • 提升esp32开发效率,快马平台智能生成模块化代码框架减少重复劳动
  • 嵌入式RC脉冲解码与通道状态诊断库
  • 从“只会聊天“到“全能员工“:2026年你需要了解的AI黑话(收藏版:小白程序员必备)
  • 绿联 安装SeaTable在线协同表格
  • 如何在UniApp中集成GraphQL:现代API开发的完整指南
  • Express-Mongoose-ES6-REST-API调试技巧:Debug模块高级用法
  • 2026高风控场景下指纹浏览器合规运营实践
  • Vue-weixin 实时聊天功能详解:Socket.IO + Vuex 状态管理最佳实践 [特殊字符]
  • Phi-4-mini-reasoning企业部署:通过Nginx实现负载均衡的多实例集群方案
  • 悬臂梁变形分析研究附Python代码
  • SharpSCADA部署与运维:生产环境搭建与故障排除完整清单
  • NodeGit终极演进指南:从社区驱动到企业级应用的完整路线图
  • 效率革命:用快马生成一键脚本,分钟级初始化你的wsl2全能开发环境
  • Anthropic一夜震撼升级:Claude获得「永久在线」,全球打工人变天
  • 一张好图,不该被抠图的难度挡住。轻松抠图,让创意自由流动
  • 解锁八大网盘下载自由:LinkSwift直链助手完全指南
  • Go OAuth2与数据库集成终极指南:安全存储认证信息的完整教程
  • 基于Qt与Windows HID输入重定向的实时按键映射引擎:QKeyMapper技术深度解析
  • Zotero PDF Preview:在文献库中无缝预览PDF的终极指南
  • 终极Slick轮播插件实战指南:告别传统轮播的痛苦
  • React Native环境变量终极指南:简单高效的配置方案
  • NVIDIA Profile Inspector医疗行业应用:10个提升医学成像性能的终极技巧
  • 新手福音:用快马AI零代码基础完成你的第一个数据库课程设计
  • 终极解决方案:如何用WindowResizer强制调整任意窗口尺寸?[特殊字符]
  • OpenClaw邮件安全:SecGPT-14B自动分析可疑附件与链接
  • 3 原创:华为破局(架构师级)- HDF驱动框架与硬件抽象层的底层通信原理
  • 多模态情报分析awesome-osint:文本图像视频融合处理终极指南
  • awesome-rust数据备份恢复:灾难恢复与业务连续性
  • 终极指南:5大ActiveModel::Serializers替代方案对比,选择最适合的序列化库