git 删除误上传的.idea文件
提交项目的时候忘记添加.gitignore文件,误上传了文件夹(如.idea)如何解决?
-
pycharm 安装
.ignore
插件 -
项目跟目录下创建
.gitignore
文件
以.idea文件夹举例,如下排除.idea/
# Project exclude paths /venv/ .idea/
-
打开项目终端执行命令
删除github上的误上传文件.ideagit rm -rf --cached .idea
-
提交.gitignore文件
git add .gitignore
把 .idea 目录加进去~
-
上传
git commit -m '忽略idea' git push -u origin main
如何清除git仓库的所有提交记录,成为一个新的干净仓库
需求:
提交代码的时候在Log中上传了一些比较敏感的信息,这些信息都可以在Github上面搜索到,想把这些Log信息清除掉,使其变成一个没有提交记录的“新仓库”。
解决方案:
使用 git –orphan 清理git历史
操作步骤:
1) 创建新分支
git checkout --orphan newBranch
- 添加所有文件(除了.gitignore中声明排除的)
git add -A
- 提交跟踪过的文件(Commit the changes)
git commit -am "init commit"
4)删除master分支
git branch -D master
- 重命名当前分支为master
git branch -m master
- 强制提交到远程master分支
git push -f origin master
通过以上几步就可以简单地把一个Git仓库的历史提交记录清除掉了
注意这里强推 报错: Failed to connect to github.com port 443: Timed out
使用git bash窗口试试,亲测可以!
清除git仓库中某个文件的提交记录
以 xxx.sh 来举例说明
第一步:在本地将该文件手动备份出一份。
切记,先执行这一步~
第二步:在本地打开git终端,删除该文件的提交记录
git filter-branch -f --index-filter 'git rm -rf --cached --ignore-unmatch src/script/xxx.sh' HEAD
注意:这里的 src/script/xxx.sh 就是要删除提交记录的文件的路径。
第三步:将本地更改推送到远端
git push origin --force --all
此时,连同文件以及提交记录已全部删除掉。
第四步:将上面备份的文件再添加到对应目录,并重新提交到仓库即可
亲测可用~