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

从 git 的历史记录中彻底删除文件或文件夹

如果你对外开源的代码中出现了敏感信息(例如你将私钥上传到了仓库中),你可能需要考虑将这个文件从 git 的历史记录中完全删除掉。 本文介绍如何从 git 的历史记录中彻底删除文件或文件夹。...---- 第一步:修改本地历史记录 彻底删除文件: 1 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch...第二步:强制推送到远端仓库 刚刚我们的操作仅仅发生在本地仓库,敏感信息需要删除的仓库通常都在远端,于是我们一定要将修改推送到远端仓库。...需要推送的目标分支包括我们所有长期维护的分支,这通常就包括了 master 分支和所有的标签。...于是使用推送命令: 1 git.exe push origin master:master --tags --force 本文会经常更新,请阅读原文: https://blog.walterlv.com

86320

Git的奇技淫巧?

历史 把某一个分支到导出成一个文件 从包中导入分支 执行rebase之前自动stash 从远程仓库根据ID,拉下某一状态,到本地分支 展示当前分支的最近的tag 详细展示一行中的修改 清除.gitignore...展示忽略的文件 commit历史中显示Branch1有的,但是Branch2没有commit 在commit log中显示GPG签名 删除全局设置 新建并切换到新分支上,同时这个分支没有任何commit...放到工作区中 强制推送 增加远程仓库 联系我 展示帮助信息 git help -g 回到远程仓库的状态 抛弃本地仓库的所有版本(commit),回到远程仓库的状态。...stash clear 从stash中拿出某个文件的修改 git checkout -- 展示所有tracked的文件 git ls-files -t...放到工作区中 git reset 强制推送 git push -f 增加远程仓库 git remote add origin

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

    看我Git 72变,GitHub发布4已超过8000星

    commit 历史 查看某段代码是谁写的 把某一个分支到导出成一个文件 从包中导入分支 执行 rebase 之前自动 stash 从远程仓库根据 ID,拉下某一状态,到本地分支 详细展示一行中的修改...清除 .gitignore 文件中记录的文件 展示所有 alias 和 configs 展示忽略的文件 commit 历史中显示 Branch1 有的,但是 Branch2 没有 commit 在 commit...以最后提交的顺序列出所有 Git 分支 在 commit log 中查找相关内容 把暂存区的指定 file 放到工作区中 强制推送 一图详解 技巧大全详解 展示帮助信息 git help -g The...删除所有的 stash git stash clear 从 stash 中拿出某个文件的修改 git checkout -- 展示所有 tracked...local --list (当前目录) git config --global --list (全局) 展示忽略的文件 git status --ignored commit 历史中显示 Branch1

    60910

    GitHub三天超4K星:玩转Git的72个神奇技巧

    commit 历史 查看某段代码是谁写的 把某一个分支到导出成一个文件 从包中导入分支 执行 rebase 之前自动 stash 从远程仓库根据 ID,拉下某一状态,到本地分支 详细展示一行中的修改...清除 .gitignore 文件中记录的文件 展示所有 alias 和 configs 展示忽略的文件 commit 历史中显示 Branch1 有的,但是 Branch2 没有 commit 在 commit...以最后提交的顺序列出所有 Git 分支 在 commit log 中查找相关内容 把暂存区的指定 file 放到工作区中 强制推送 一图详解 技巧大全详解 展示帮助信息 git help -g The...删除所有的 stash git stash clear 从 stash 中拿出某个文件的修改 git checkout -- 展示所有 tracked...local --list (当前目录) git config --global --list (全局) 展示忽略的文件 git status --ignored commit 历史中显示 Branch1

    94320

    Git 使用笔记

    如何将文件添加到版本库 在刚才创建的空文件夹中,添加你自己的文件,以readme.md为例; 用git add命令将文件添加到仓库; # 添加单一文件 $ git add readme.md # 添加所有文件...reflog查看命令历史,从而确定重返版本commit_id,HEAD指向当前版本,为了在版本的历史之间穿梭,使用命令git resrt --hard commit_id $ git reset --hard...相连接,可以进行如下操作: 确定.ssh目录下是否存在文件id_rsa和id_rsa.pub,有则复制id_rsa.pub中内容明将其添加到Github中的SSH Key,建立两者联系,可以在本地管理,...Github仓库; $ git remote add origin git@github.com:cunyu1943/LeetCode.git 从远程仓库克隆岛本地: $ git clone https...branch-name origin/branch-name $ git branch --set-upstream dev origin/dev 从远程抓取分支则使用git pull,若有冲突,则先解决处理后再处理

    31110

    Git使用笔记

    如何将文件添加到版本库 在刚才创建的空文件夹中,添加你自己的文件,以readme.md为例; 用git add命令将文件添加到仓库; $ git add readme.md 用git commit...$ git log --pretty=oneline 回退之前的版本,先用git log查看提交历史,以确定commitid,回退后,当想要重返未来版本时,用git reflog查看命令历史,从而确定重返版本...: - 确定`.ssh`目录下是否存在文件`id_rsa`和`id_rsa.pub`,有则复制`id_rsa.pub`中内容明将其添加到Github中的SSH Key,建立两者联系,可以在本地管理...Github仓库; ``` $ git remote add origin git@github.com:cunyu1943/gitlearn.git ``` - 从远程仓库克隆岛本地...$ git branch --set-upstream dev origin/dev 从远程抓取分支则使用git pull,若有冲突,则先解决处理后再处理; --- 标签管理 先切换到需要打标签的分支

    53540

    Git 应用基础篇

    关于git的历史发展就不单独介绍。 优点: 适合分布式开发,强调个体。 公共服务器压力和数据量都不会太大。 速度快、灵活。...代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。 功能: 1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。...从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能: 1、查看邮件或者通过其它方式查看一般开发者的提交状态。...上面的操作,我们创建好仓库后,直接跳转到该地址来,这里面主要的是显示我们如何将自己工作区的项目,同步到github仓库来。按照下面的指导即可。 ?...对仓库创建好后,接下来就可以提交到我们的github仓库上面区了,下面第一行的命令是将原称仓库的地址添加到本地仓库中,以免我们在后面推送到仓库的时候,知道推送到那里去。

    35840

    深入理解 Git 的客户端与服务器角色

    作为服务器角色,GitHub 的仓库主要作用包括: 存储项目的完整版本历史:所有的提交、分支、标签信息都可以从远程仓库访问。...每个本地仓库都包含一个 .git 文件夹,负责存储: 项目的完整版本历史。 从远程仓库拉取的分支、提交信息。 开发者本地的更改和分支。...1.3 客户端和服务器的角色切换 在 Git 的分布式设计中: 本地仓库作为客户端:本地仓库通过 git pull 从远程仓库拉取代码,通过 git push 将本地更改推送到远程仓库。...add README.md - 提交到本地仓库: git commit -m "Add README.md" 提交完成后,所有的版本历史信息被存储在 .git 文件夹中: 特点: - **Blob 对象...本地仓库通过 .git 文件夹管理自己的版本控制数据。 服务器的多客户端支持: 多个开发者可以从同一个远程仓库克隆代码,并推送自己的更改。

    11010

    Linux工具学习之【git】

    ---- 前言 git 是一个代码托管平台,它的创始人是大名鼎鼎的 Linux 之父: 林纳斯·托瓦兹,git的诞生可以使我们对已提交的代码历史版本进行回溯,这是一个十分重要的功能,除了查看历史版本外,...存储库 $ git init 可以查看当前远程仓库URL的地址 $ git remote -v 或者 $ git remote show origin 代码提交三板斧 接下来看看如何将本地的文件推送至远程仓库...$ git push 成功完成一次推送后,gitee 上就会记录,形成如下图所示一个小绿点,一天内每推送八次,绿点就会变绿一层,因为这个是新号,所以没什么推送记录 每天都坚持写代码并推送是一件很伟大的事....git //查看本地仓库中的提交信息,即所有信息 $ git log //查看历史提交日志,其中的主要内容就是 commit 时填写的内容 $ git rm 文件 //删除不想要的文件 注:git rm...Linux工具:git 的全部介绍了,git 是一款强大的代码托管工具,它不仅可以供我们随时查看历史提交版本,还能对代码进行远程修改、删除、推送等操作;学好 git 是一件十分重要的事情,毕竟现在很多公司都是在用

    22710

    【10】进大厂必须掌握的面试题-版本控制面试

    解释一些基本的Git命令? 以下是一些基本的Git命令: Q7。在Git中,如何还原已经被推送并公开的提交?...为此,我将使用命令 git revert Q8。您如何将最后N次提交压缩为一次提交? 有两种方法可以将最后的N个提交压缩为一个提交。...Git bisect的命令是 **git bisect **现在,既然您已经提到了上面的命令,请解释该命令的作用。该命令使用二进制搜索算法来查找项目历史记录中的哪个提交引入了错误。...现在,您已经为示例定义了Git变基时间,以展示如何在合并之前使用它解决特征分支中的冲突(如果从master创建了一个功能分支,并且从那时起master分支已收到新的提交,Git变基)可用于将要素分支移至母版的顶端...您还可以包括以下提及的要点,尽管它是完全可选的,但将有助于打动面试官。

    2.6K20

    【10】进大厂必须掌握的面试题-版本控制面试

    解释一些基本的Git命令? 以下是一些基本的Git命令: ? Q7。在Git中,如何还原已经被推送并公开的提交?...为此,我将使用命令 git revert Q8。您如何将最后N次提交压缩为一次提交? 有两种方法可以将最后的N个提交压缩为一个提交。...Git bisect的命令是 **git bisect **现在,既然您已经提到了上面的命令,请解释该命令的作用。该命令使用二进制搜索算法来查找项目历史记录中的哪个提交引入了错误。...现在,您已经为示例定义了Git变基时间,以展示如何在合并之前使用它解决特征分支中的冲突(如果从master创建了一个功能分支,并且从那时起master分支已收到新的提交,Git变基)可用于将要素分支移至母版的顶端...您还可以包括以下提及的要点,尽管它是完全可选的,但将有助于打动面试官。

    2.6K30

    【工具】Git 常用操作 - 备忘录

    upstream 3 --- git push -f 忽略差异,强行推送本地分支,覆盖远程分支 一般团队合作的时候,因为同事已经先推送了他的代码,此时我再推送的话,就会先拉取他的代码,并且处理差异,但是这条命令可以让我们暴力推送...1 --- 过滤分类查找提交历史 1、git log --committer= 过滤得到 某个人 提交的历史 ?...2 --- 查看提交历史的细节多少 1、git log 这是我们最常规的用法,显示不多不少的提交信息,包含 commitId,时间,作者,提交信息等 ?...1 --- git status 如下,显示暂存区中修改(已经 add),工作区中修改(之前add 过,修改后没有add),工作区中没有追踪的文件 ?...所以这就是重设分支基础点啦,从 基础点3 变成基础点 7 了 这样 4 和 5 就好像是直接从 master 上提交的一样,完全看不出 合并的 痕迹 了 而如果 merge 则会留下痕迹,因为会生成一个

    46731

    Git的安装与使用教程(超详细!!!)「建议收藏」

    Git工作流程 一般工作流程如下: 从远程仓库中克隆 Git 资源作为本地仓库。 从本地仓库中checkout代码然后进行代码修改 在提交前先将代码提交到暂存区。 提交修改。提交到本地仓库。...如下: 如上:一般情况下,可以直接在文件目录中把文件删了,或者使用如上rm命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉,现在目录是这样的...,解决的办法也很简单,上面已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送。...需要手动解决,解决的方法和分支管理中的 解决冲突完全一样。...从远程库中克隆 git checkout –b dev 创建dev分支 并切换到dev分支上 git branch 查看当前所有的分支 git checkout master 切换回master分支

    7.1K41

    Git从入门到进阶,你想要的全在这里

    commit 历史 查看某段代码是谁写的 把某一个分支到导出成一个文件 从包中导入分支 执行 rebase 之前自动 stash 从远程仓库根据 ID,拉下某一状态,到本地分支 详细展示一行中的修改...清除 .gitignore 文件中记录的文件 展示所有 alias 和 configs 展示忽略的文件 commit 历史中显示 Branch1 有的,但是 Branch2 没有 commit 在 commit...忽略文件的权限变化 以最后提交的顺序列出所有 Git 分支 在 commit log 中查找相关内容 把暂存区的指定 file 放到工作区中 强制推送 git 配置 http 和 socks 代理 git...移除所有的 stash git stash clear 从 stash 中拿出某个文件的更改 git checkout -- 显示所有 tracked...local --list (当前目录) git config --global --list (全局) 显示忽略的文件 git status --ignored commit 历史中显示 Branch1

    88620

    如何撤消 Git 中最新的本地提交?

    图片本文将详细介绍如何在Git中撤消最新的本地提交。步骤1:查看提交历史在撤消最新的本地提交之前,首先需要查看提交历史,以确定要撤消的提交的哈希值。...请注意,强制推送可能会覆盖远程仓库中的历史### 步骤3:强制推送到远程仓库(可选)如果您已经将错误提交推送到远程仓库,需要将撤消的更改推送到远程仓库以更新它。...请注意,强制推送可能会覆盖远程仓库中的历史记录,请确保在执行此操作之前进行确认。...在撤消最新的本地提交后,可以使用以下命令将更改强制推送到远程仓库:git push origin HEAD --force该命令将强制将本地分支的更改推送到远程仓库的相应分支,并覆盖远程仓库中的历史记录...总结在Git中撤消最新的本地提交是一项有用的操作,可以帮助我们修复错误并保持代码库的一致性。本文介绍了三种不同的方法来撤消最新的本地提交,包括完全删除提交、保留更改以及保留更改作为暂存区。

    1.3K30

    Git使用教程(看完会了也懂了)

    通过使用git push命令将本地版本库中的更改推送到远程仓库,并使用git pull命令从远程仓库拉取最新的更改,可以与其他开发人员保持同步。...将本地的提交推送到远程仓库,更新远程仓库的分支和提交历史。 pull:从远程仓库拉取最新更改(相当于fetch + merge)。...看看main分支的log 这里就可以看到,main分支的提交历史并没有发生任何变化; 那么如何将那个孤立的提交给放到main分支里面做第四版呢?...它会将当前分支的 HEAD 指针指向指定的提交,并将之前的修改内容从工作目录、暂存区和 Git 历史记录中全部移除。 执行这个命令后,之前的修改将无法恢复。...在远程仓库中也可以查看到我们的提交了: 拉取远程仓库 从远程仓库中获取最新的代码更新是很重要的,就像从云盘上下载最新的文件到你的电脑一样。

    1.4K21

    简介GIT

    @github.com:w3cteching/test1909_pro.git 5.将本地代码推送到远端仓库 git push -u origin master 如果git push报错...,首先咱们先拉取到本地,再推送 git pull origin master --allow-unrelated-histories git remote: 格式:git remote add...git reflog:查看所有历史提交记录 … 记住:git管理的不是文件,管理的是”修改“ 如何添加协作者: 12.分支 ​分支是什么?...,要手动解决 如果往线上推送出现冲突,那先git pull,手动解决冲突后,再git push 删除分支 git branch -d 分支名 //合并过的用-d删除 git branch -D 分支名...//未合并过的用-D删除 如何将本地分支推送到远程 git push origin 要推送分支名 注意:如何默认推送当前分支到远端 git push --set-upstream origin dev

    57520
    领券