# 常见问题

# 哪些操作会被审计

通过代码库设置菜单,可以查到“操作审计”, 具体会被记录到操作审计中的操作为:

  • 删除分支和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/

# 代码库视图模式乱码

主要是Windows编码时使用非UTF-8字符集编码,导致上传后的视图产生乱码,服务端统一用的是UTF-8字符集,建议使用Windows编码将源码的格式设置成UTF-8。

# 代码库开启git提交代码时校验提交人和提交作者信息功能后,不是平台上的用户名或邮箱,怎么操作才能提交commit

需要在git客户端上使用git指令来修改已经提交的commit,来解决这个问题
1、git log 查看commit id
An image
2、git rebase -i <最早commit> 重新设置基准线
3、git commit --amend --author="Author Name <email@address.com>" 来修改commit
4、git rebase --continue 移动到下个commit作为基准线
An image

# 在配置完成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