git filter-repo:彻底清理 Git 仓库历史(大文件 / 敏感信息)
仓库用了几年之后,.git 目录常常比源码本身还大——曾经提交过的大文件、误传的密钥、不小心提交的 node_modules,都永久留在了历史里。它们不会因为你后来删掉文件而消失,只要别人 git clone 一下,这些包袱就会被整个拖下来。本文介绍 git filter-repo,Git 官方推荐的历史重写工具,用来把这些垃圾彻底清出仓库历史。 ...
仓库用了几年之后,.git 目录常常比源码本身还大——曾经提交过的大文件、误传的密钥、不小心提交的 node_modules,都永久留在了历史里。它们不会因为你后来删掉文件而消失,只要别人 git clone 一下,这些包袱就会被整个拖下来。本文介绍 git filter-repo,Git 官方推荐的历史重写工具,用来把这些垃圾彻底清出仓库历史。 ...
这篇文章梳理 Git 中所有代理配置方式,从简单的 git config 到 SSH 协议的 SOCKS5 隧道,一份指南全搞定。 为什么需要代理 访问 GitHub、GitLab 等平台时,有时会遇到 git clone 速度极慢甚至超时的情况。尤其是在国内网络环境下,给 Git 配置代理几乎是必备技能。 flowchart LR A[你的电脑] --> B{需要代理?} B -->|直连通畅| C[直接连接 Git 服务器] B -->|速度慢/超时| D[代理服务器] D --> E[Git 服务器github.comgitlab.com] C --> E 配置方式总览 Git 提供多种配置代理的途径,优先级从高到低: ...
Git 常用命令集合,Fork 自 tips 项目 Git 是一个分布式版本管理工具,版本管理工具就是大家在写东西的时候都用过 回撤这个功能,但是回撤只能回撤几步,假如想要找回我三天之前的修改,光用回撤是找不回来的。而版本管理工具能记录每次的修改,只要提交到版本仓库,就可以找到之前任何时刻的状态(文本状态)。 ...
git clone // 到本地 git checkout -b xxx 切换至新分支xxx (相当于复制了remote的仓库到本地的xxx分支上 修改或者添加本地代码(部署在硬盘的源文件上) git diff 查看自己对代码做出的改变 git add 上传更新后的代码至暂存区 git commit 可以将暂存区里更新后的代码更新到本地git git push origin xxx 将本地的xxxgit分支上传至github上的git (如果在写自己的代码过程中发现远端GitHub上代码出现改变) ...
虽然有梯子,可以正常访问github页面,但是在发现“git clone”命令速度特别慢,有时还经常卡掉。可以通过设置git 代理,解决被墙问题。 git 有几种传输协议,在Github上主要用到的是Https和SSH协议。所以我们要做的是对git 命令的https 以及ssh流量做代理。 ...
Q: 在Windows10上使用git clone代码的时候抛出了异常,重试了几次都是相同的错误:下载的目录里除了.git没有任何东西。 A: 源代码是在linux上编写的,但是在Windows10上拉取代码却出现了问题。根据提示可以看出代码clone是成功的,但是checkout的时候出现了错误。那么问题很可能是不通系统下文件属性或策略导致的。 ...