移除原有 Git 仓库关联,在IDEA中重新初始化 Git 并推送到新仓库(详细图解、包含相关问题的解决办法)
目录
一、前言
二、移除原有Git仓库关联
三、重新打开IDEA,重新初始化Git仓库
四、分享项目到个人GitHub仓库
五、包含敏感信息导致推送失败的场景
六、包含敏感信息导致推送失败的解决办法
七、报错连接GitHub超时的解决办法
一、前言
在学习黑马天机学堂等项目时,首先这个课程的一个设计是gogs(好像就是自己搭建的Git仓库),为了模拟进入企业开发的场景,所以一开始导入的天机学堂就是和这个原有的Git仓库关联了,包括大家学习过的话都知道一直都是在lesson-init分支上提交推送。在基本学习完天机学堂项目之后,我就有想法把它推送到我自己的Github仓库同时后续在这个项目上进行魔改优化。但是一开始我不知道怎么做,最后是查询资料加拷打ai才知道要移除原有Git仓库,在IDEA中重新初始化Git才能推送到新仓库,所以这里写一篇博客记录一下全流程,希望对你有帮助
二、移除原有Git仓库关联
打开天机学堂项目可以看到,IDEA里面直接就是有lesson-init的

要移除项目的原有仓库()即删除本地Git版本库,删除项目文件夹下的.git隐藏文件夹,它里面存储了该项目所有的Git版本信息

如果看不到.git可以按下图操作,将隐藏的项目展示出来

三、重新打开IDEA,重新初始化Git仓库
删除.git文件之后必须重新打开IDEA(刚点开这里可能还是lesson-init,点击一下马上就会变成Git)

然后很重要的一步是要在gitignore文件中排除包含敏感信息的配置文件(这里针对个人开发上传用于学习记录的情况),如果不排除的话,以Github为例(其他我不知道可能也会一样)等会提交并推送就会直接在IDEA中提示推送失败,原因就是它自动识别到你推送的文件中包含敏感信息。此时就会出现Github成功创建仓库分支,但是代码没推送上去的情况(后面会讲如何处理)。一般就是*.properties和*.yml(这个根据每个人项目进行调整,你不想全部排除就别加*加具体的名字)。如果对IDEA中使用Git不是很清楚的话可以先看看我之前写的博客了解一下:
IDEA使用Git对项目进行版本控制及上传到GitHub(以黑马点评为例、详细图解)-CSDN博客

排除了配置文件之后,就可以依次点击Git、在以下平台上共享项目、GitHub

出现如下界面就可以自行填写仓库名称、选择是否私有、以及描述

四、分享项目到个人GitHub仓库
可以看到排除含敏感信息的配置文件之后为初始提交添加文件就不会有.yml结尾的文件了

后续自然也就不会出现推送失败的情况了(如果排除了还是有连接不到GitHub的报错信息下面会讲)

五、包含敏感信息导致推送失败的场景
如果没有在gitignore里面排除包含敏感信息的配置文件,就会出现推送失败的报错

由于报错信息比较长,我们可以交给ai分析一下得知敏感信息的具体位置再进行排除(要么就一开始直接*.yml进行排除)

打开GitHub也能发现项目分支是创建好了但是没有成功推送代码上去

六、包含敏感信息导致推送失败的解决办法
如果此时你在报错之后再修改gitignore的话,点击提交你会发现只有gitignore需要提交

同时如果你点击推送的话,会发现推送的列表里还是会有yml文件,看着好像gitignore没有起作用。其实并不是,而是一开始已经成功将代码(含敏感信息)提交到本地仓库了,只不过推送到远程仓库出现问题就失败了。所以现在修改gitignore并不能马上生效,因为本地仓库已经有那些配置文件了,要把之前提交到本地的代码清除才可以

要清除提交到本地仓库的代码,最简单的方法就是还是把.git文件直接删除了(一定注意不要误删.git以外的文件,不然就有点难搞了)

然后到GitHub把之前创建的远程仓库删除掉,在如下图的Settings点击进去

一直往下拉,找到删除仓库的选项

一直往下点,最后删除掉就行

然后这次就注意排除含敏感信息的配置文件之后在进行共享了

然后这里其实就相当于回到一开始完全正确操作的流程下了


七、报错连接GitHub超时的解决办法
这里因为我之前就配置过代理地址了,所以我并没有遇到这个问题,但是写这篇博客突然想到这个所以也顺带提一嘴,把以往的知识了解串起来
解决GitHub push失败-Failed to connect to github.com port 443: Timed out_github推送失败-CSDN博客
