Git 清理无用Commit 和 Tags

因为自己手残导致Git库内添加一些奇怪的东西,还很占地方,于是就有了这篇文章。

Error:请谨慎对待每一次Commit

Git清理全部Commit

缺点就是你提交记录和文件历史全没了,但是简单高效粗暴~

#切换分支
git checkout --orphan latest_branch

#添加所有文件
git add -A

#提交分支
git commit -m "提交说明"

#删除主分支
git branch -D master

#重名当前分支为master(主分支)
git branch -m master

#提交到远程仓库(强制覆盖)
git push -f origin master

Git删除指定文件及其历史记录

Error:注意:文件路径千万不要以/开头!否则就不是相对路径了!
上条警告是来自于被舍友rm -rf /*的某人的悲鸣~

搭建Gitolite实现对源码仓库权限管理

正巧,前一段时间主力NAS炸了(详情见此处),临时把NanoPi NEO2翻出来顶上了。顺手用导热胶把散热片和外壳粘一起了,效果拔群。

经过这一段时间的使用,发现被动散热真是个好东西。原先的主力NAS,现在设置成冷备机,通过网络唤醒,每周自动执行备份同步,然后关机。完美,终于没有风扇的噪音了~

因为NanoPi上跑的东西有点多(Docker真是个好东西),所以需要一个轻量的Git权限管理工具。

最后我选定了Gitolite来实现对源码仓库权限管理。


部署&配置Gitolite

部署

推荐新建个低权限用户安装运行
#新建一个用户git,<-s>参数指定新用户使用的shell路径
sudo useradd -s /bin/bash git
#设置密码
sudo passwd git
#切换用户
su git

说真的,Gitolite安装非常简单。你可以直接从源来安装。

sudo apt install gitolite3

当然,你也可以从仓库拉取源码安装。

git clone https://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin

顺手为NanoPi NEO2 编译OpenWrt固件,并配置旁路由

前面,说过我为NanoPi NEO2更新到OMV5.x版本,经过这一段时间的使用,我发现我就用到个smb共享文件,实际上OpenWrt,也支持这个功能。

而且在家里串太多路由/交换机,有点浪费,不如直接用一个设备实现 ALL in ,这样维护起来还是蛮方便的。

为NanoPi NEO2 编译的OpenWrt为NanoPi NEO2 编译的OpenWrt

自编译 OpenWrt(LEDE)

自己手头上有个MT7620N的路由器,因为属于开源的,固件得自己折腾。

我比较萌这种小东西我比较萌这种小东西

具体的参数(和<code>RT-N14U</code>一样)具体的参数(和RT-N14U一样)

正好,因为网络的问题,需要使用最新的OpenWrt(LEDE)。

正好自己尝试编译一下,把需要的包一次都编译进去,省的在折腾了。