git项目相关问题

这里记录下git的相关问题。

提交不停弹出登陆弹窗的问题

无论是用git push还是tortoisegit push,都会不停弹出登录窗口。
结果不论如何填写用户名和密码,都说logon failed

google了一下,发现原来有个git credentials manager这个软件,这是安装git的时候勾选安装的,这个弹窗就是这个软件弹出来的。

根据提示,执行了git credential-manager uninstall。不再弹出登录窗口了,提交直接push就行了。

git项目如何过滤没有后缀的二进制文件

一般是输出到固定目录,比如dest然后统一忽略。要不然就赋予他们一个相同的pattern然后忽略。

原本扩展名对liunx的影响不大,只是今年来linux也才慢慢的用扩展名标识文件类型。
window文件你也可以不写扩展名。
不一定非要二进制文件才没有扩展名。
git没有通过判断文件内容来忽略的接口,除非自己写。

git仓库太大的处理方法

只下载最后一次的提交

1
git clone https://github.com/Wuchenwcf/MyCode.git --depth==1

git仓库压缩瘦身

1
2
3
4
5
6
7
8
# 查看历史大文件
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
# 从历史中删除 target/ 这个文件夹
git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch target/' --prune-empty --tag-name-filter cat -- --all
# 执行仓库压缩
git gc --prune=now
# 推送到远程仓库
git push origin --force --all

El hábito no hace al monje.