首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BFG Repo-Cleaner - 快速清除Git提交历史特定文件

BFG Repo-Cleaner(快速清除Git提交历史特定文件) 有些时候不小心上传了一些敏感文件(例如密码), 或者不想上传文件(没及时或忘了加到.gitignore里),而且上传文件又特别大时候...另一种选择 BFG是git-filter-branch之外一种更简单、更快方法,可以清除Git存储库历史不良数据: 删除 大文件 删除 密码、凭证 和其他 私人数据 git-filter-branch...strip-blobs-bigger-than 50M my-repo.git文件*(前缀行'regex:'或'glob:'如果需要)*列出所有密码替换为' *** remove *** ',...无论它们在您存储库任何地方: $ bfg --replace-text passwords.txt my-repo.git 删除Git中所有名为'.git'文件夹文件—保留文件名。...如果某个坏文件(比如10MB文件,当您指定--strip-blobs-bigger-than 5M)在受保护提交,那么它不会被删除—它将保存在您存储库,即使BFG从以前提交删除了它。

2.8K40

用树莓派做服务器运行博客网页

(IMAP/POP3)代理服务器,可以作为一个HTTP服务器进行网站发布处理,以及作为反向代理进行负载均衡实现 外网访问: ​ 如果映射到内网IP,那访问服务器只能在内网访问,这显然不是我们所期待...输入后git会从远程拉取初始化代码下来,拉取后Git显示如下 然后文件夹就有了Hexo源码了 在Git改变当前目录位置,进入该文件夹,代码如下 cd web_blog_name/ 使用hexo.../ #改变文件夹权限 文件夹建立后,改变当前路径到建立文件夹,输入如下指令建立Git仓库(web_blog为自定义名字) cd /var/repo/ git init --bare web_blog.git...,即 /var/www/hexo下面,钩子代码如下: #使用vim在仓库下创建一个新钩子文件 sudo vim /var/repo/web_blog.git/hooks/post-receive 在文件下添加如下...sudo chmod +x /var/repo/web_blog.git/hooks/post-receive Nginx网页根目录设置 上一步我们已经创建好网页根目录,并且已经做好文件传送钩子,这一步我们配置

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

自动化让你远离烦恼,几个小技巧轻松优化​Python开发环境

.venv文件夹创建虚拟环境。...我把这个项目命名为dsexample,我知道这个名字很蠢,但我不想浪费时间去想一个更好。为了展示如何使用poetry,我添加了一个特定版本pandas库,以及所有额外需求fastapi框架。...we have already added the tool venv, it will work directly pre-commit --version 要使用pre-commit,首先需要向顶级文件夹添加一个名为...在该文件里,你需要配置所有应该运行钩子。在mypy与Black环境下,文件内容如下所示。...Black工具钩子函数不仅会检查格式,还会相应地为文件添加格式。每次添加新钩子函数时,建议一开始在所有文件手动运行pre-commit,因为它只能作用于上次提交之后更改过文件

1.2K30

Hexo部署至服务器(Ubuntu 20.04)

4.重启Nginx服务,使得改动生效 命令如下: sudo service nginx restart image.png 创建Git钩子 1.在之前创建hexo_static裸仓库下有一个hooks...文件夹,在其中创建一个名为post-receive钩子文件: 命令如下: vim /var/repo/hexo_static.git/hooks/post-receive 在其中写入如下内容: #!...-t rsa在windons用户下/.ssh文件夹中生成密钥 将生成公钥id_rsa.pub拷贝到ubuntu服务器/home/blog/.ssh/authorized_keys上 首先创建.ssh...下id_rsa.pub文件内容复制到Ubuntu下authorized_keys文件 命令如下: sudo vim .ssh/authorized_keys image.png 部署Hexo项目...编辑hexoconfig.yml文件,在deploy处修改repo项: deploy: type: git repo: blog@server_ip:/var/repo/hexo_static.git

2.5K30

在 Ubuntu 14.04 服务器上部署 Hexo 博客

开源博客平台多如牛毛,而且不乏优秀之作,如 Hexo、Octopress、Jekyll、Wordpress。本系列文章将分享如何利用各种博客引擎在云端搭建属于自己个人博客。...配置 Nginx 托管博客文件目录。 配置远程仓库自动更新到博客文件目录钩子。...2.3 创建 Git 钩子 接下来,在服务器上裸仓库 hexo_static 创建一个钩子,在满足特定条件时将静态 HTML 文件传送到 Web 服务器目录下,即 /var/www/hexo。...在自动生成 hooks 目录下创建一个新钩子文件: vim /var/repo/hexo_static.git/hooks/post-receive 在该文件添加两行代码,指定 Git 工作树...然后,通过 Git 钩子,将 Hexo 生成博客静态文件,快速地推送到 Web 服务托管目录。

12.1K90

如何创建修改远程仓库 + 如何删除远程仓库 + 如何删除远程仓库某个文件文件夹 + 如何使用git将本地仓库连接到多个远程仓库

2、在本地新建一个文件夹test,然后我们在该文件夹右键 --> Git Bash Here,输入命令:git clone 远程仓库地址 ?...六、删除Github已有的仓库某个文件文件夹(即删除远程仓库某个文件文件夹) 我们知道,在Github上我们只能删除仓库,并不能删除文件或者文件夹,所以只能用命令来解决。...即我们通过删除本地仓库某个文件文件夹后,再将本地仓库与远程仓库同步,即可删除远程仓库某个文件文件夹。...6.1、本地仓库和远程仓库同时删除文件文件夹 1、我们先在本地仓库删除掉文件a.txt ? 2、然后执行以下命令,即可删除远程仓库文件了 ? 删除远程仓库文件夹同理。不在演示。...6.2、删除远程仓库文件文件夹,不删除本地仓库文件文件夹 假如我们想要在远程仓库中将文件夹test01删除掉,但在本地仓库并不想把它删除: ? 在命令窗口输入以下命令: ?

7.3K20

Hexo部署至服务器(续)——建立引导页及分站

前言 接着上篇 之前建立分站教程(Hexo建立分站 | 花猪のBlog (cnhuazhu.top))是利用了Hexo纯静态优势,将不同主题渲染后public内容放在主站public文件夹...文件夹作为站点根目录,在该文件夹修改index.html用作博客引导页,后续在该文件夹搭建网站结构。...钩子 1.在之前创建两个裸仓库中有有一个hooks文件夹,分别在其中创建名为post-receive钩子文件: 命令如下: butterfly仓库: vim /var/repo/hexo_butterfly.git...保存后退出 2.让两个文件变为可执行文件 命令如下: chmod +x /var/repo/hexo_butterfly.git/hooks/post-receive chmod +x /var/repo...: type: git repo: blog@server_ip:/var/repo/hexo_next.git branch: maste 然后执行Hexo命令“三步骤”,上传静态文件至Ubuntu

60020

git hook实践心得

important actions occur Git hook能够在发生某特定行为时机,触发执行自定义脚本。...post-checkout: 执行git checkout命令成功后触发,可用于生成特定文档,处理大二进制文件等 post-merge: 成功完成一次 merge行为后触发 pre-push: 执行git...update: 与pre-receive相似,但当一次push想更新多个分支时,pre-receive执行一次,而此钩子会为每一分支都执行一次 post-receive: 当整个push操作完成时触发...,常用于服务侧同步、通知 如何使用git hook hook脚本会存放在仓库.git/hooks文件夹git提供了一些shell样例脚本以作参考。.../hooks文件夹中新建以钩子名命令脚本文件(比如pre-push),这个脚本就会在适当时机被触发。

1.1K20

在 Swift 编写脚本:Git Hooks

在本例,我使用了 commit-msg 钩子,它能够在当前提交信息生效前修改此信息。钩子由一个参数调用,该参数是指向包含用户输入提交消息文件路径。...这意味着,为了改变提交消息,我们只需要从文件读取、修改其内容,然后写回调用挂钩文件。 要创建git钩子,我们需要在 .git/hooks 路经下提供一个可执行脚本。...Git钩子可以全局设置,也可以基于单个repo设置。...我个人对这类脚本偏好是基于单个repo设置,因为这样可以在出现问题时为您提供更多控制和可见性,并且如果钩子开始失败,它会在它设置repo失败,而不是全局都失败。...在下面的截屏,创建了两个分支,一个带有问题编号,一个没有,它们有着相同提交信息。可以看出脚本运行正常,并且在需要时才更改提交消息!

1.5K10

化繁为简企业级 Git 管理实战(五):二进制大文件版本控制

例如拉取分支最新快照: 1 $ git clone --single-branch -b --depth 1 http://your-site.com/your-group/your-repo.git...我所选择扩展就是由 Github 团队开发 Git-LFS 。 Git-LFS 原理并不复杂:大文件不再支持添加到仓库,而是存储到另外 LFS 服务器上。仓库保留这些文件文本链接。...当拉取仓库时,Git-LFS 钩子将自动把这些文本链接恢复成 LFS 实际内容。...警惕钩子覆盖 第一个遇到问题就是钩子覆盖问题。前面我们提到 Git-LFS 其实是利用全局钩子来关联 Git 与 LFS 。当你工程也加了钩子时,这时候就要格外小心了。...其中,使用 Git-LFS 方案是一种比较理想选择。但在实际使用,一定要小心处理 Git-LFS 可能带来问题,希望本文若干踩坑总结也能对读者有所帮助。

1.7K70

将Hexo部署到腾讯云轻量应用服务器

在提示路径下找到id_rsa文件,复制文件内容,下面配置Git时会用到 配置Git 如果没有特别说明,安装过程如有出现选择,一律选择yes(y),(即输入yes(y)然后点击回车) 准备工作...hexo.git 创建Git钩子 # vim /home/repo/hexo.git/hooks/post-receive 点击键盘“i”建进入编辑模式,然后通过方向键编辑,将以下代码复制进去 #!...git: # chown -R git:git /home/repo 然后再上传; 如果还是不行,建议使用root推送; 在hexo配置文件修改: repo: root@域名或IP:/home/repo.../hexo.git 如果root无法推送,同样大概率也是因为文件所有者问题,将hexo仓库和git仓库所有者修改为root即可 如何判断文件夹所有者是否正确呢?...回到/home目录, 查看git仓库和hexo仓库文件夹所有者: # cd /home # ll 正常情况可以看到git仓库和hexo仓库文件夹所有者全为git drwxr-xr-x 2 git

7.8K30

Hexo 部署至云服务器(宝塔面板)

一般大部分都用以上方式部署自己hexo博客,但也有少部分部署在自己服务器同志。 新手部署服务器最常见方法就是:直接把本地生成public文件,直接ftp到服务器www根目录,简单粗暴。...仓库,并配置git钩子,自动同步文件到网站目录 配置网站访问设置 本地git deploy设置 准备工作 2.本地生成ssh秘钥备用 git config --global user.name "GitHub...切换至 git 用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件 su gitmkdir ~/.sshvim ~/.ssh/authorized_keys  同样i...进入编辑模式,把之前本地准备id_rsa.pub文件公钥复制进去,按esc后,输入:wq保存。...git 仓库 cd /var/repogit init --bare hexo.git  编辑一个 Git 钩子 vim /var/repo/hexo.git/hooks/post-receive

5.8K40

手把手教你搭建一个技术人博客

搭建前准备 在我们正式开始搭建一个完全属于我们自己博客之前,我们首先要做好一些事前准备(当然,如果你没有做好准备也没有关系,下面会一步一步教你搞定这些) 服务器一台 or github 账号一个...git 切换到该用户去创建仓库 su git cd /home/git/ mkdir blog mkdir repo cd repo git init --bare blog.git 创建钩子 cd...--save hexo-deployer-git 修改_config.yml文件 deploy: type: git repo: git@server_ip:/home/git/repo/blog.git...branch: master 在本地博客文件夹下输入deploy命令,并输入账号密码即可~ hexo clean && hexo generate --deploy 输入你服务器IP,即可访问查看效果啦...修改_config.yml文件 deploy: type: git repo: git仓库地址 branch: master 在本地博客文件夹下输入deploy命令,并输入账号密码即可~

45010

Git目录为什么这么大

1、介绍 2、Git存储原理 2.1 目录结构 2.2 提交内容 2.3 如何彻底删除一个文件 3、解析Object存储方式 4、处理文件 4.1 大文件产生 4.2 寻找大文件ID 4.3...目录过大,从git进行版本控制底层存储出发,简要分析Git目录过大原因,以及如何处理 2、Git存储原理 2.1 目录结构 使用版本控制的人都会知道,不管是svn还是更为流行git,整个工程目录下...HEAD:表示当前本地签出分支 hooks:git钩子目录,关于钩子使用可以参考我之前文章 利用Git钩子实现代码发布 index: 存储缓冲区GitExtensionsstage...4、处理文件 4.1 大文件产生 由上面的详细分析流程可以看出,git会为每一个提交到版本控制文件进行追踪,那么大文件究竟如何产生呢?...50M my-repo.git # 删除文件夹下所有的文件 $ java -jar bfg.jar --delete-folders doc my-repo.git 7、小结 本文分析了git底层版本控制存储实现

1.2K10

Go代码审计:Gitea远程命令执行漏洞链

漏洞一、逻辑错误导致权限绕过 这是本漏洞链导火索,其出现在Git LFS处理逻辑。...Git LFS是Git为大文件设置存储容器,我们可以理解为,他将真正文件存储在git仓库外,而git仓库存储了这个文件索引(一个哈希值)。...这样,git objects和.git文件夹下其实是没有这个文件,这个文件储存在git服务器上。gitea作为一个git服务器,也提供了LFS功能。...在 modules/lfs/server.go 文件,PostHandler是POST请求处理函数: ? 可见,其中间部分包含对权限检查: if !...然后随便找个项目,在设置配置Git钩子Git钩子是执行git命令时候,会被自动执行一段脚本。比如我这里用pre-receive钩子,就是在commit之前会执行脚本。

1.4K30

Hexo博客部署和使用

文件权限 chmod 400 /etc/sudoers 设置 git 账户密码 sudo passwd git 密码输入是看不到 SSH连接 切换至 git 用户,创建 ~/.ssh 文件夹和 ~/....ssh/authorized_keys 文件 # 切换git用户 su git # 创建.ssh文件夹 mkdir ~/.ssh # 创建并编辑authorized_keys文件 vim ~/.ssh/...authorized_keys 按i进入编辑模式,把之前本地中生成id_rsa.pub文件公钥复制进去,保存退出 如果复制不方便,可以将本地id_rsa.pub文件上传到.ssh文件夹并重命名为authorized_keys...编辑一个 Git 钩子 vim /var/repo/hexo.git/hooks/post-receive 按i进入编辑模式,添加下面的代码,然后保存退出 #!...6 安装Hexo 在本地创建一个空文件夹,这个文件夹要长期保留避免移动 在该文件夹内打开CMD命令行,使用 npm 安装 Hexo npm install -g hexo-cli 初始化博客程序 hexo

11810

Travis CI 教程:入门

下载 入门项目,然后打开 zip 文件并将生成 MovingHelper 文件夹放在桌面上,以便您轻松找到它。...启动终端,然后将目录更改为桌面文件夹: cd ~/Desktop/MovingHelper 接下来,初始化计算机上本地存储库: git init 接下来,在 MovingHelper 文件夹添加所有内容...好吧,.travis.yml 文件使用 YAML 告诉 Travis 如何设置构建。由于 Travis 使用多种不同语言,因此如果没有关于它是什么类型项目的信息,它就不知道如何构建您特定项目。...即使您项目是在 Swift ,Travis 也使用该 objective-c 值来了解使用 Xcode 命令行工具进行构建。...更改合并到其中: git checkout travis-setup git merge master 现在合并提交已合并回到 travis-setup 分支,在您选择 markdown 或纯文本编辑器打开项目根文件夹

4.9K20
领券