去除.gitignore文件中的重复,空行和注释
相信大家用Git进行版本控制都会为`.gitignore`文件发过愁吧,像我就去GitHub官方的库<https://github.com/github/gitignore>去下载.可这就出现一个问题,比如,我按照我的需求,对应将Python,Vim,JetBrains,C和C++的内容筛选后复制到我的`.gitignore`文件里,这时我的`.gitignore`文件已经有将近900行,有不少注释,空行,以及一些重复的内容,真是让强迫症无语,还平白增加仓库体积,于是就写了个简单的程序来应对(封装成类主要是为了有其他相同需求的文件使用此程序时更方便些).```python
class Cleaner:
def __init__(self, filename):
self.filename = filename
def clean(self):
with open(self.filename, "r", encoding="utf-8") as f:
seen = set()
result = []
for line in f:
line = line.strip()
if not line or line.startswith("#"):
continue
if line not in seen:
result.append(line)
seen.add(line)
with open(self.filename, "w", encoding="utf-8") as f:
for line in result:
f.write(line + "\n")
# 调用示例
# cleaner = Cleaner(".gitignore")
# cleaner.clean()
``` 感谢分享,强迫症表示感谢 感谢分享 感谢分享 .gitignore 咋会有 900行啊
有一个快捷的命令可以去重去空
cat .gitignore | sort | uniq > .gitignore_new 可以可以 python胶水语言处理这里很占优势 Vvvvvoid 发表于 2023-7-17 10:45
.gitignore 咋会有 900行啊
有一个快捷的命令可以去重去空
cat .gitignore | sort | uniq > .gitignore_n ...
就是有900多行,是把那个仓库里的一些对应需求的给复制进去,当然有一些不是我本人提交的,到最后没去重复,空行和注释前确实有900行 本帖最后由 hrh123 于 2023-7-17 12:32 编辑
Vvvvvoid 发表于 2023-7-17 10:45
.gitignore 咋会有 900行啊
有一个快捷的命令可以去重去空
cat .gitignore | sort | uniq > .gitignore_n ...
给你看下我仓库本来的gitignore gitignore不是过滤提交文件的吗,搞这么多行.......... lucklys 发表于 2023-7-17 14:44
gitignore不是过滤提交文件的吗,搞这么多行..........
调试,测试完再删文件不是很麻烦吗?主要项目涉及的语言和人员多,一劳永逸啦
页:
[1]
2