# 常见问题
# 哪些操作会被审计
通过代码库设置菜单,可以查到“操作审计”, 具体会被记录到操作审计中的操作为:
删除分支和push -f强制更新分支
删除Tag及Tag强制更新
Clone代码(不含git pull、git fetch), 用以审计离职前大量Clone代码行为
修改代码库基本设置
修改分支提交规则
修改代码库成员
# Mac系统SSH协议clone卡死
主要是部分版本(例如10.15.4)的Mac系统的openssh(例如OpenSSH_8.1p1)有bug导致,需要将openSSH升级到最新版本 OpenSSH_8.2p1及以上。
未安装brew请先安装brew:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install openssh
安装完毕后,打开一个新的终端,输入如下命令,确认一下openSSH版本
ssh -V
# push代码报错
如果push代码经常报rpc错误、http 400 error、远程意外挂断、等问题,建议先检查一下本地git客户端版本,建议升级到最新版本 https://git-scm.com/download/ (opens new window)
# 代码库视图模式乱码
主要是Windows编码时使用非UTF-8字符集编码,导致上传后的视图产生乱码,服务端统一用的是UTF-8字符集,建议使用Windows编码将源码的格式设置成UTF-8。
# 代码库开启git提交代码时校验提交人和提交作者信息功能后,不是平台上的用户名或邮箱,怎么操作才能提交commit
需要在git客户端上使用git指令来修改已经提交的commit,来解决这个问题
1、git log 查看commit id
2、git rebase -i <最早commit> 重新设置基准线
3、git commit --amend --author="Author Name <email@address.com>" 来修改commit
4、git rebase --continue 移动到下个commit作为基准线
# 在配置完成ssh key后,尝试用 git clone 拉取代码报以下错误
报错信息: “no matching host key type found. Their offer: ssh-rsa”
解决办法: 进入 ssh 文件夹。(Windows:C:\用户\{自己用户名}\.ssh;linux: ~/.ssh);在该文件下的 config 文件里面增加以下内容(如果没有 config 文件则新增文件,没有扩展名)
Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
# 10G以上超大代码库git clone失败解决方法
问题原因:
考虑到代码库过大,clone时会造成网络堵塞,我们在Nginx设置最大允许请求体大小为10g。因此大于10G的代码库克隆会失败。
解决方法:
1、推荐把非源码的放到制品库、并且解耦代码到不同代码库。
2、对于私有部署版本用户,还可修改Nginx的location块,调整最大允许请求体大小:
client_max_body_size 20g;
此操作有风险:过大代码库clone时会导致网络堵塞、影响用户体验。
如确认要改: 推荐提高网络速度、保证网络质量、保证磁盘io不成为瓶颈。
再就是.git/config Git客户端配置优化,保证clone稳定:
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 9999
← 产品特点