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

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

BFG Repo-Cleaner(快速清除Git提交历史特定文件) 有些时候不小心上传了一些敏感文件(例如密码), 或者不想上传文件(没及时或忘了加到.gitignore里),而且上传文件又特别大时候...最好删除所有旧克隆,因为它们会有肮脏历史,您不想冒险将其推回到您新清理repo。 例子 在所有这些示例,bfg是java -jar bfg.jar别名。...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

设置Git--Git设置您用户名--创建一个回购--Fork A Repo--社会化

设置Git GitHub核心是名为Git开源版本控制系统(VCS)。Git负责计算机上本地发生所有GitHub相关事情。 要在命令上使用Git,您需要在计算机上下载,安装和配置Git。...设置Git:下载并安装最新版本Git,下载网址:https://git-scm.com/downloads Git设置您用户名 Git使用用户名将提交与身份相关联。...计算机设置您Git用户名:$ git config –global user.name“ #用户名#” 设置电子邮件地址:$ git config –global user.email“ email...创建公共或私有资源库之间进行选择: 公共仓库是入门好选择。它们对于GitHub上任何用户都可见,因此您可以从协作社区受益。 私有存储库需要更多设置。...它们只适用于您,存储库所有者以及您选择与之共享任何协作者。私人存储库仅适用于付费帐户。 Fork A Repo 创建叉子正在生成别人项目的个人副本。叉子作为原始存储库和您个人副本之间桥梁。

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

    记一次开源工具某模块基础二次开发

    环境是做了git@code.xxx免密推送,root用户密码不知道啊,就算有权限难道把密码写在配置文件里又安全吗?...明文密码泄露事情可是发生不少,于是继续看代码找问题 find ./ -name "*.py" |xargs grep "git clone" 看他推送方式是什么 配置文件为....如果配置文件没有输入用户名或密码,便是公开链接,直接clone,如果有用户名密码,则分割填入用户名和密码进行加密clone,如果这放在http协议这个逻辑完全没有问题,但是放在ssh下拉代码里,就会存在很大逻辑问题了...逻辑问题在于ssh免密钥登录不需要密码,如果单纯以用户名密码作为判断依据那免密钥作用就为零了,为了适配免密钥,实际上代码中指定免密钥用户即可,同时为保证其他基础功能不遭受破坏,增加功能应使用判断前缀方式进行代码改写...clone_address + ' "' + self.repo_directory + '" -b ' + self.repo_branch 增加前缀判断,如果前缀为ssh,则统一使用通用用户git进行

    56210

    Visual Studio 解决方案资源管理器隐藏一些文件

    Visual Studio 解决方案资源管理器隐藏一些文件 2018-07-04 12:30 项目文件中有一些属性几乎是专门为 IDE...(才不会透漏这些属性其实本就是为 Visual Studio 而准备呢。) 本文将介绍如何在 Visual Studio 解决方案资源管理器隐藏一些文件。...---- 原生支持 Visual Studio 原生支持 Visible 属性用来控制某一项文件是否 Visual Studio 解决方案资源管理器显示。...要是只有这样,才不会写这篇文章呢! 原生不支持 ? 考虑一下像上图那样有些文件文件情况,然后我们再次设置 Visible="false" 属性: ? 文件夹竟然还在!...\src\obj\**\*.cs;" /> 活学活用 这并不是说 Visual Studio 解决方案资源管理器隐藏文件都应该采用 <Target

    4.1K30

    【DB笔试面试844】Oracle,tnsnames.ora文件作用是什么

    ♣ 问题 Oracle,tnsnames.ora文件作用是什么? ♣ 答案 这个文件类似于Linux系统hosts文件,提供tnsname到主机名或者IP对应关系。...只有当sqlnet.ora中有类似“NAMES.DIRECTORY_PATH=(TNSNAMES)”配置时候,客户端解析连接字符串时,数据库才会尝试使用这个文件。...l HOST:数据库所在机器主机名或IP地址。...不管用主机名还是IP地址,客户端一定要用ping命令ping通数据库所在机器,否则需要在hosts文件中加入数据库所在机器主机名和IP地址对应关系。...l PORT:数据库监听器端口,可以查看服务器端listener.ora文件或在数据库服务器通过lsnrctl status [listener name]命令来查看。一般为1521端口。

    75630

    springcloud笔记(三) API 网关 Zuul,Spring Cloud Config

    ,还有就是访问这个前缀,我们要调用哪个服务,将那个服务名称配置一下; 就相当于一个Nginx; Spring Cloud Config Spring Cloud Config 是什么 每个项目都有自己配...,也就是 main 方法类上添加注解 @EnableConfigServer 4 application.properties 配置一下 git 仓库信息,此处我们使用 GitHub ( 也...=xxxx123456 5 总结,就是GitHub上面有文件,现在要使用springcloud项目去访问,访问步骤就是以上那 此时启动我们配置中心,通过/{application}/{profile...clone 命令将远程配置文件本地也保存一 份,以确保 git 仓库故障时我们应用还可以继续正常使用。...,用于获取配置信息,文件内容如下: (注意这些信息一定要放在 bootstrap.properties 文件才有效) server.port=3722 spring.application.name

    31210

    Swift 编写脚本:Git Hooks

    前言 这周,决定完成因为工作而推迟了一周TODO事项来改进Git工作流程。 为了提交时候尽可能多携带上下文信息,我们让提交信息包含了正在处理JIRA编号。...每次提交都包含这些信息可能会有点乏味(如果你使用了类似TDD[1]之类方法,您会提交更加频繁),而且,尽管像Tower[2]这样git客户端会让此变得容易一些,但是您仍然需要手动将问题编号复制粘贴到提交消息...想法是能够从git分支获取JIRA编号(我们有一个分支命名约定,形如:story/ISSUE-1234_branch-name),然后将提交消息更改为以JIRA编号为前缀,从而生成最终结果消息:ISSUE...本例使用了 commit-msg 钩子,它能够在当前提交信息生效前修改此信息。钩子由一个参数调用,该参数是指向包含用户输入提交消息文件路径。...个人对这类脚本偏好是基于单个repo设置,因为这样可以在出现问题时为您提供更多控制和可见性,并且如果钩子开始失败,它会在它设置repo失败,而不是全局都失败。

    1.5K10

    Linux环境变量配置etcprofile或etcprofile.d*.sh文件区别是什么?

    @ 目录 login shell non-login shell 它们区别 Linux环境变量可在多个文件配置,如/etc/profile,/etc/profile.d/*.sh,~/.bashrc...等,下面说明上述几个文件之间关系和区别。...它们区别 这两种shell主要区别在于,它们启动时会加载不同配置文件。 login shell启动时会加载/etc/profile。...但是无论加载~/.bashrc(实际上是加载了~/.bashrc/etc/bashrc)或/etc/profile时,都会执行如下代码片段: ?...所以,无论login shell或non-login shell环境,都会加载/etc/profile.d/*.sh文件,这样我们为什么不自定义一个my_env.sh文件用来存放java或者其他环境变量

    2.4K10

    将个人博客迁移到云服务器上

    改好之后,修改回权限 chmod 400 /etc/sudoers 上面这些都是root 用户下操作。 SSH 配置 想要我们本地直接推送文件到服务器上,需要配置SSH连接了。...上面的操作后,这两个文件用户和用户组都是git . 做完上面这些,切换到git 用户操作。...创建一个新 git 钩子,用于自动部署 /var/repo/blog.git 下,有一个自动生成 hooks 文件夹。我们需要在里边新建一个新钩子文件 post-receive。...好了,服务器上配置到此就都配置好了。 本地配置修改 本地已经安装了nodeJS、git、hexo 这些东西,所以这些就不说了。进入本地博客目录。主要是修改_config.yml 配置。 ?...,所以升级一下本地git 版本,git base 执行 $ git update-git-for-windows ?

    2K31

    【DB笔试面试785】Oracle,RMAN关于备份或归档文件状态OBSOLETE和EXPIRED区别是什么

    ♣ 题目部分 Oracle,RMAN关于备份或归档文件状态OBSOLETE和EXPIRED区别是什么? ♣ 答案部分 OBSOLETE:是指根据保留策略来确定该备份是否恢复时候需要。...若不再需要或有更新备份来替代,则该备份集被置为OBSOLETE,即废弃备份集或镜像副本。OBSOLETE可以理解为过期备份集。...EXPIRED:是指执行CROSSCHECK时,根据恢复目录或控制文件记录备份信息来定位备份集或镜像副本,若找不到对应文件,则这些文件状态被置为EXPIRED。...EXPIRED可以理解为失效备份集,即物理文件丢失。 如果在备份过程,归档文件被手动通过rm命令删除,那么会报错:RMAN-06059。...解决办法就是RMAN中校验归档文件后再删除失效归档文件,如下所示: CROSSCHECK ARCHIVELOG ALL; LIST EXPIRED ARCHIVELOG ALL; DELETE EXPIRED

    1.1K10

    Oracle,数据文件OFFLINE之后必须要做一件事是什么

    数据文件OFFLINE之后必须要做一件事就是立刻执行一次RECOVER操作,这样无论过了多久之后,ONLINE该数据文件时候就不需要执行RECOVER操作了。...实验环境如下表所示: 项目 source db db 类型 单实例 db version 11.2.0.3.4 db 存储 ASM OS版本及kernel版本 AIX 64位 7.1.0.0 实验一:数据文件...实验二:数据文件OFFLINE后立刻执行一次RECOVER操作 SYS@lhrdb> ALTER DATABASE DATAFILE 6 OFFLINE; Database altered....SYS@lhrdb> 实验结束,根据实验过程可以知道,如果执行了数据文件OFFLINE操作,那么需要接着执行一次RECOVER操作。...这样做好处是,以后数据库维护,随时想将数据文件ONLINE都可以,而不用担心归档文件是否存在情况了。

    43220

    pygit:足够Git客户端创建一个repo,commit,并将自己推送到GitHub

    本文提供了一些关于我黑客背景知识并介绍了代码。 Git因其非常简单对象模型而闻名(其中包括) - 并且有充分理由。学习时git发现本地对象数据库只是目录一堆普通文件.git。...本练习想编写一个可以执行所有步骤版本,包括推送到真正Git服务器。也想使用相同二进制索引格式,git因此可以git每一步使用命令检查工作。...您可以GitHub上查看所有pygit.py,或者查看下面的各个部分时跟随它。 初始化库 初始化本地Git仓库只需要创建.git目录以及其下一些文件和目录。...diff打印每个修改过文件差异,显示索引内容与当前工作副本内容(使用Pythondifflib模块执行脏工作) 100%肯定git使用索引,这些命令实现比我更有效,考虑到文件修改时间和所有这些...不会在这里复制代码,但请查看源代码argparse代码。 使用pygit 大多数地方,试图使pygit命令行语法与语法相同或非常相似git

    2.2K20

    是如何做到:不切换 Git 分支,同时多个分支上工作

    这是解决上述问题一个方法,但背后同样隐藏很多问题: 多个 repo 状态是不好同步,比如没办法快速 cherry-pick, 一个 repo checkout 分支,另外一个 repo 需要重新...checkout git history/log 是重复,当项目历史非常长,.git 文件夹下内容是非常占用磁盘空间 同一个项目,多个 repo,不易管理 那如何做才能满足这些特殊场景,又不出现这些上述这些问题呢...某一个目录下使用 Git 命令,当前目录下要么有 .git 文件夹;要么有 .git 文件,如果只有 .git 文件,里面的内容必须是指向 .git 文件 第二句话感觉挺绕,下面用例子说明,就很容易明白了... worktree remove -f hotfix/JIRA234-fix-naming 删除了 worktree,其实在 Git 文件,还有很多 administrative 文件是没有用,为了保持清洁...,hotfix 目录下存放所有 hotfix worktree,这样整个磁盘目录结构不至于因为创建多个 worktree 而变得混乱 磁盘管理上有些强迫症,理想情况下,某个 repo worktree

    1.4K20

    Git命令和操作

    Git教程:操作和命令Git一些基本操作是: 初始化ini 增加内容 提交内容 Pull Push 一些高级Git操作是: 管理分支 合并分支 Rebasing 首先让简要介绍一下这些操作Git...让我们使用git status命令查看这些文件是否索引,索引保存工作树/目录内容快照,并将该快照作为本地存储库中进行下一次更改内容。...这意味着除非在索引显式添加了这些文件,否则无法提交对这些文件更改。 增加内容 该命令使用在工作树中找到的当前内容来更新索引,然后临时区域中准备下一次提交内容。...上面的文件是我们先前commit部分已经提交文件,它们都是“ push-ready”。将使用命令git push origin master来将这些文件反映在中央存储库master分支。.../my-git-repo 隐藏未提交更改git status git stash git status 当您要重新应用“stash”ed更改时,请使用以下命令: git stash apply 就是这样

    1.8K10

    使用mono-repo实现跨项目组件共享

    本文会分享一个实际工作遇到案例,从最开始需求分析到项目搭建,以及最后落地架构整个过程。最终实现效果是使用mono-repo实现了跨项目的组件共享。...首先我们需要考虑一个问题就是,柜员界面和客户界面是做在一个网站里面,还是单独做两个网站?因为两个界面高度相似,所以我们完全可以做在一起,客户自助界面隐藏掉右上角用户和设置就行了。...git submodule 另一个方案是git submodule,我们照样为这些共享组件创建一个新Git项目,但是不发布到NPM仓库去骚扰别人,而是直接在我们主项目以git submodule方式引用他...git submodule基本使用方法网上有很多,这里就不啰嗦了,主要说几个缺点,也是我们没采用他原因: 本质上submodule和主项目是两个不同git repo,所以你需要为每个项目创建一套脚手架...但是使用了mono-repo,因为他们代码都在同一个Git仓库,我们一个commit里面就可以修改两个项目的代码,然后统一打包,测试,发布,如果我们使用了lerna管理工具,版本号依赖也是自动更新

    3K41
    领券